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

时间:2013-08-30 22:58:08

标签: jquery ajax asynchronous

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

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

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

如果ajaxFunc()有另一个异步调用,请ajaxFunc2() myFuncajaxFunc()ajaxFunc2()之后执行{{1}}?

1 个答案:

答案 0 :(得分:1)

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

通常,您会在.then中使用ajaxFunc链接到第二个电话:

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

.then链仅在ajaxFunc2完成时调用$.ajax,但随后会返回ajaxFunc2结果的新承诺。然后 承诺传递给$.when()