私は延期されたajax呼び出しの3層の深いチェーンを持っており、理想的には、最も深い層が終了したときに約束を完全に開始します(私はインセプションのことです...「私たちはもっと深く行く必要があります!」)。
問題は、一度に多くのajaxリクエスト(おそらく数百)を送信していて、それらがすべて完了するまで延期する必要があることです。最後に行われたものに頼ることはできません。
function updateAllNotes() {
return $.Deferred(function(dfd_uan) {
getcount = 0;
getreturn = 0;
for (i = 0; i <= index.data.length - 1; i++) {
getcount++;
$.when(getNote(index.data[i].key)).done(function() {
// getNote is another deferred
getreturn++
});
};
// need help here
// when getreturn == getcount, dfd_uan.resolve()
}).promise();
};