当使用 jQUery 进行 AJAX 调用时,如果响应在 $.ajax() 执行后的下一行 JavaScript 之前返回到客户端,浏览器会在调用 AJAX 回调函数之前继续执行脚本,还是会它立即暂停执行并跳转到回调函数?例如:
function MyAJAXFunction() {
// Make AJAX call
$.ajax({
url: "/api/...",
success: function () {
alert("AJAX Callback");
}
});
// Do lots of work
alert("After lots of work");
}
假设 AJAX 调用会非常快而“大量工作”会非常慢,哪些警报将首先执行?
我试图在执行 AJAX 回调所依赖的慢速任务之前启动 AJAX 调用,以便这两个操作是并行的。但是,我仍然需要保证 AJAX 回调将第二次执行。我意识到这也可以用 jQuery Differed 和 Promise 对象来完成,但我更愿意避免这些。