Programowo tworzenie łańcuchowej sekwencji obietnic jQuery
Mam funkcję usuwania listy tablic plików, filePaths, przez wywołanie pojedynczego deleteFile (filePath) na każdym z plików na liście (niektóre używane APIS nie obsługują zbiorczego usuwania). Funkcja deleteFile zwraca obietnicę jQuery i rozwiązuje / odrzuca po usunięciu pliku.
function deleteFiles(filePaths)
var deferreds = $.map(fileKeys, function (val, index) {
return deleteFile(filePath);
});
$.when.apply($, deferreds).then(function (schemas) {
console.log("DONE", this, schemas);
deferred.resolve();
}, function (error) {
console.log("My ajax failed");
deferred.reject(error);
});
Otrzymuję wywołania .reject na niektórych plikach na liście (i wiem, że istnieją), więc myślę, że być może będę musiał zmienić tablicę filePaths na łańcuch połączeń, jak kolejka (b / c to nie to, co robi $. kiedy to robi? wydaje się, że uruchamia je wszystkie naraz). Wiem, jak to zrobić (np. .DeleteFile (path1) .deletePath (path2). Etc, gdy są w takiej tablicy.
Każda pomoc jest doceniana z góry.