-1
私は動的に決定されたajaxコールのリストを1つずつ作成する必要があります。すべてのブラウザで約束が同じように実装されているわけではないため、前回の完了後に各Ajax呼び出しを行う方法はありますか?私が試してみました順番にajaxコールを実行する
:
var favoritesArray = [1,2,3] //dynamically created by user
var arrayOfCalls = $.each(favoritesArray, function each(idx) {
var favId = favoritesArray[idx];
return $.ajax({ url: '/favorites/' + favId, type: 'DELETE' });
});
$.when(arrayOfCalls)
.then(function success() {
doStuff();
});
をすべての呼び出しは実行されますが、終了する前のものを待ちません。それを達成する方法はありますか?
なぜあなたがそれを心配しているのか分かりません。これらのどれも以前のものに依存していないようです。 '$ .when'は一貫性のあるクロスブラウザですが、' $ .each'から何も返されないので、 'arrayOfCalls'は定義されません。 – charlietfl
各呼び出しは同じリストを更新し、同時に呼び出しが終了すると、リストは、最初に完了したものに応じて、間違ったものと異なるものになります。 – ebbishop
$ .eachについての注意点をありがとう。 – ebbishop