jQuery.when().done
非同期イベントが行われたかどうかの詳細なチェックはありますか?
つまり、次のコードがある場合:
$.when(ajaxFunc())
.done(myFunc);
ajaxFunc()
別の非同期呼び出しがある場合、次の後に実行されるajaxFunc2()
としますか?myFunc
ajaxFunc()
ajaxFunc2()
jQuery.when().done
非同期イベントが行われたかどうかの詳細なチェックはありますか?
つまり、次のコードがある場合:
$.when(ajaxFunc())
.done(myFunc);
ajaxFunc()
別の非同期呼び出しがある場合、次の後に実行されるajaxFunc2()
としますか?myFunc
ajaxFunc()
ajaxFunc2()
いいえ、ajaxFunc
別の非同期関数を呼び出す場合は$.when
、その 2 番目の呼び出しが完了するのを待ちません。
通常、2 番目の呼び出しにチェーンするには.then
withinを使用します。ajaxFunc
function ajaxFunc() {
return $.ajax(...).then(ajaxFunc2);
}
チェーンは が完了したときに.then
のみ呼び出されますが、その後、 の結果である新しい promise が返されます。次に、に渡されるのはそのpromise です。ajaxFunc2
$.ajax
ajaxFunc2
$.when()