真的在這一刻苦苦掙扎,所以如果任何人有任何意見,這將是太棒了。很確定,這是一個讓我簡單複雜化的例子,但我們會看到!角度文件上傳回調
使用下面的文件上傳到服務器
https://github.com/nervgh/angular-file-upload/wiki/Module-API
我創造了某些類型的文件(不能只用一個,因爲我需要不同的上傳URL的文件上傳的多個實例每個)
所以我當時有一個像
var uploaders = [a list of file object uploaders]
我想要做的就是遍歷列表的列表,請撥打每個文件上都有,然後一旦每個文件都上傳完畢,繼續執行腳本。
問題是,我不認爲uploadAll
功能實現promise
,所以當我嘗試下面的代碼腳本的其餘部分將繼續在文件已成功上傳一次。
繼承人我有什麼
var deferred = $q.defer();
var uploaders = [my list of object uploaders]
var allUploads = uploaders.map(function(uploaders) {
var singleUploadPromise = uploaders.uploadAll();
return singleUploadPromise;
});
$q.all(allUploads).then(function() {
console.log('Finished uploading all files')
deferred.resolve('Finished uploading all files');
}, function(error) {
deferred.reject(error);
});
return deferred.promise;
的文件遭到上傳,但腳本的其餘部分進行纔去做。當我
console.log(allUploads)
我得到一個undefined
項目的列表。很明顯,我在這裏出了問題,但我不確定如何前進。
我不是在ES6最好的,但我不認爲uploadAll()返回任何https://github.com/nervgh/angular-file-upload/blob/master/src/services/ FileUploader.js#L134 – ChrisY