Tru*_*ran 5 javascript ajax jquery events
我有一个触发 3 个 ajax 调用的点击事件:
$("#button").click(function(e) {
e.preventDefault();
$.ajax(call1);
$.ajax(call2);
$.ajax(call3);
some_function() //should fire off AFTER all ajax calls are complete
});
Run Code Online (Sandbox Code Playgroud)
有没有办法让我在触发我的some_function()函数之前确认所有 ajax 调用都被触发了?
提前致谢!
您可以使用$.when
提供一种基于一个或多个对象(通常是表示异步事件的延迟对象)执行回调函数的方法。
$.when($.ajax(call1), $.ajax(call2), $.ajax(call3))
.done(function () {
some_function();
});
Run Code Online (Sandbox Code Playgroud)
如果(由于某种原因)您有一系列 Promise,那么您可以使用Function.prototype.apply()调用此方法:
$.when.apply($, ajaxArray)
.done(function () {
some_function();
});
Run Code Online (Sandbox Code Playgroud)