次のような場合に、複数の ajax 呼び出しを渡すことができます。
var dnldAy = [];
for (i=0, iMax=urlsToLoad.length; i < iMax; i++) {
dnldAy.push( $.ajax({
url: urlsToLoad[i],
dataType: "json"
}) );
}
$.when.apply($, dnldAy).done( function( doneCb ) {
console.log( doneCb );
}
実行すると、ajax リクエストの配列から最初のdoneCbwhen
のみが取得されます。done 関数にパラメータを追加して他のコールバックを取得できることは理解していますが、これは拡張できません。(私は未知の数の ajax 呼び出しを自分の で行う予定なので、done 関数で必要なパラメーターの数を前もって知ることはできません)。when
この設計上の問題を処理する正しい方法は何ですか?