【发布时间】:2013-07-19 01:48:03
【问题描述】:
当使用 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 对象来完成,但我宁愿避免使用这些。
【问题讨论】:
-
您是否从 ajax 调用中获取数据?
标签: javascript jquery ajax performance asynchronous