是否jQuery.when().done
深入检查异步事件是否完成?
也就是说,如果我有以下代码:
$.when(ajaxFunc())
.done(myFunc);
如果ajaxFunc()
有另一个异步调用,请ajaxFunc2()
myFunc
后ajaxFunc()
或ajaxFunc2()
之后执行{{1}}?
答案 0 :(得分:1)
不,如果ajaxFunc
调用另一个异步函数,$.when
不等待第二个调用完成。
通常,您会在.then
中使用ajaxFunc
链接到第二个电话:
function ajaxFunc() {
return $.ajax(...).then(ajaxFunc2);
}
.then
链仅在ajaxFunc2
完成时调用$.ajax
,但随后会返回ajaxFunc2
结果的新承诺。然后 承诺传递给$.when()
。