0

jQuery.when().done非同期イベントが行われたかどうかの詳細なチェックはありますか?

つまり、次のコードがある場合:

$.when(ajaxFunc())
.done(myFunc);

ajaxFunc()別の非同期呼び出しがある場合、次の後に実行されるajaxFunc2()としますか?myFuncajaxFunc()ajaxFunc2()

4

1 に答える 1

1

いいえ、ajaxFunc別の非同期関数を呼び出す場合は$.when、その 2 番目の呼び出しが完了するのを待ちません。

通常、2 番目の呼び出しにチェーンするには.thenwithinを使用します。ajaxFunc

function ajaxFunc() {
    return $.ajax(...).then(ajaxFunc2);
}

チェーンは が完了したときに.thenのみ呼び出されますが、その後、 の結果である新しい promise が返されます。次に、に渡されるのはそのpromise です。ajaxFunc2$.ajaxajaxFunc2$.when()

于 2013-08-30T23:04:09.713 に答える