0

是否jQuery.when().done深入检查异步事件是否完成?

也就是说,如果我有以下代码:

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

如果ajaxFunc()有另一个异步调用,sayajaxFunc2()myFunc在之后ajaxFunc()或之后执行ajaxFunc2()

4

1 回答 1

1

不,如果ajaxFunc调用另一个异步函数,则$.when不要等待第二次调用完成。

通常你会使用.thenwithinajaxFunc链接到第二个调用:

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

.then链只会在 完成时调用,ajaxFunc2然后$.ajax返回一个新的 Promise,它是 的结果ajaxFunc2。然后那个承诺被传递给$.when().

于 2013-08-30T23:04:09.713 回答