ajax呼び出しを特定の順序で実行する必要がある状況があります。他の状況でjQueryDeferredオブジェクトを使用しましたが、これを適切に動作させる方法が見つからないようです。
ajax
一生のうちにたくさんのリクエストを実行する機能があります。一部のリクエストは、他のリクエストの成功コールバック中に実行されます。
私の質問:ネストされたすべての遅延オブジェクトを元の呼び出しに戻す方法はありますか?$.when
簡単な例は次のとおりです。
function nestedAjax() {
$.get("/", function(){
console.log("First ajax done.");
$.get("/", function(){
console.log("Second ajax done.");
});
});
};
私はnestedAjax
使用する関数を持っ$.when()
ている$.done()
ようにしようとしています:
$.when(nestedAjax()).done(function(){
console.log("Complete");
});
コンソール出力の読み取り値:
> First ajax done.
> Second ajax done.
> Complete.
私はこれを達成するために最初に戻ることができget
ます:
> First ajax done.
> Complete.
> Second ajax done.
しかし、明らかにこれは私が必要とするものではありません。どんな助けでもいただければ幸いです。