我已经获得了一些AngularJS代码,该代码具有从将文件发布到Web API的指令调用的工厂函数。我在传递返回控制器的密钥时遇到问题。有人能告诉我怎么做吗?
这是发布我的文件的工厂函数:
return fileManagerClient.save(formData)
.$promise
.then(function(result) {
if (result && result.files) {
result.files.forEach(function(file) {
if (!fileExists(file.name)) {
service.files.push(file);
}
});
}
appInfo.setInfo({
message: "files uploaded successfully"
});
return result.$promise;
},
function(result) {
appInfo.setInfo({
message: "something went wrong: " + result.data.message
});
return $q.reject(result);
})['finally'](
function() {
appInfo.setInfo({
busy: false
});
service.status.uploading = false;
});
}
我正在尝试将result.value(这是发布文件的关键字)传递给我的控制器,但我不知道该怎么做。
感谢任何帮助。
谢谢,
皮特
答案 0 :(得分:0)
如果你说的是真的,那么你只需要让then
回调回复result.value
:
.then(function(result) {
if (result && result.files) {
result.files.forEach(function(file) {
if (!fileExists(file.name)) {
service.files.push(file);
}
});
}
appInfo.setInfo({
message: "files uploaded successfully"
});
return result.value;
}
在您的控制器中:
myFactory.myFactoryFunction(formData)
.then(function (key) {
console.log(key);
});