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);