【发布时间】:2016-04-29 19:21:35
【问题描述】:
以下是我在项目中使用的代码,允许用户上传文件。 对于每个选定的文件,“$scope.upload”函数都会被异步调用。
因为这些是异步调用,所以每次调用不依赖于之前的调用。
但我的要求是只有在成功回调函数执行后, 那么下一次上传应该发生,因为每次上传都取决于值 由上一次上传返回。
请告诉我如何实现。 注意:$scope.upload 是部分 Angular 文件上传 js (https://github.com/danialfarid/ng-file-upload)
$scope.startUploading = function ($files, errFiles, item) {
//$files: an array of files selected
for (var idx = 0; idx < $files.length; idx++) {
var $file = $files[idx];
(function (index) {
$scope.upload[index] = $upload.upload({
url: "../UploadCommentAttachment",
method: "POST",
file: $file,
data: item
}).success(function (responseData, status, headers, config) {
item.AuditCommentAttachments.push(responseData);
item.CommentId = responseData.CommentId;
item.AuditId = responseData.AuditId;
item.Operation = "EDIT";
item.CommentAttachmentID = responseData.CommentAttachmentID;
}
});
})(idx);
} ///-- for loop end
} // startuploading end
【问题讨论】:
-
here 提供的解决方案很优雅,适合我。
标签: javascript angularjs asynchronous