Angularjs ng文件上传顺序承诺
根据本指令: 如何按顺序(按顺序、排队)逐个上载多个文件?我在考虑连锁承诺,但我不知道如何将承诺和指令结合起来 上载多个文件,但所有文件同时上载且不按顺序 这是我的代码:Angularjs ng文件上传顺序承诺,angularjs,ng-file-upload,Angularjs,Ng File Upload,根据本指令: 如何按顺序(按顺序、排队)逐个上载多个文件?我在考虑连锁承诺,但我不知道如何将承诺和指令结合起来 上载多个文件,但所有文件同时上载且不按顺序 这是我的代码: for (var i = 0; i < files.length; i++) { Upload.upload({ url: config.base+'/upload/', data: { file: files[i], } }).th
for (var i = 0; i < files.length; i++) {
Upload.upload({
url: config.base+'/upload/',
data: {
file: files[i],
}
}).then(function (response) {
vm.reloadImatges();
vm.upload.progress=0;
vm.upload.files--;
}, function (resp) {
}, function (evt) {
vm.upload.progress = parseInt(100.0 * evt.loaded / evt.total);
});
}
for(var i=0;i
我找到了一个解决方案,也许不是最好的,但它很有效
代码如下:
var doSomething = function (index) {
var defer = $q.defer();
Upload.upload({
url: url: config.base+'/upload/',
data: {
file: objects[index]
}
}).then(function (response) {
objects[index].processed = true;
if (objects[++index]) {
defer.resolve(index);
} else {
defer.reject();
}
}, function (response) {
}, function (evt) {
vm.upload.progress = parseInt(100.0 * evt.loaded / evt.total);
});
defer.promise.then(doSomething);
};
doSomething(0);