等待 unitl ajax 及其回调函数完成
Wait unitl ajax and its callback function finish
我正在构建一个允许用户同时执行多个操作的Web应用程序。例如,用户可以打开列表、删除列表或添加新列表。
每个操作都会进行 ajax 调用并执行回调函数,以便在成功时更新 UI。我想确保这些操作以序列化的方式执行,以便 UI 不会不同步。例如,如果用户打开一个列表,但在几分之一秒后删除了该列表,这取决于哪个 ajax 首先调用 finsihes,它可能会显示现在应该删除的列表。
为此,对于每个操作,我想等到 ajax 调用及其回调函数完成。我怎样才能做到这一点?
如果你使用的是jQuery,.always()
回调是在.done()
/.fail()
之后调用的。
$.ajax("example.php")
.done(function() {
alert("success");
})
.fail(function() {
alert("error");
})
.always(function() {
alert("complete"); //Called after done/fail callbacks
});
使用 Jquery
,您可以将async: false
添加到 Ajax 调用中,或者使用 Jquery deferred 来确保仅在 Ajax 调用完成后发出操作(假设您使用 Jquery)。
如果您有多个 Ajax 请求,示例可能如下所示:
$.ajax({url: url}).pipe(function() {
// some ajax stuff
return $.ajax({});
}).pipe(function() {
// some more ajax stuff (3rd request)
return $.ajax({});
}).done(function() {
// done with all ajax requests...
});
相关文章:
- 如何将一个JavaScript函数回调为多个函数
- Meteor:异步函数回调异常:onAfterAction
- 从类方法中的 ajax post 函数回调函数更改 javascript 类属性
- jQuery动画函数回调错误
- jquery在html属性中添加函数回调,以便在其他事件中调用
- jquery getjson 函数:回调返回错误的字符串
- postMessage - 多个 postMessage 事件/函数/回调
- 在 Promise 调用的错误函数回调后附加对象的用法是什么
- 单击事件后的 JavaScript 函数回调
- 设置超时函数回调静态变量
- Jquery UI 模式匿名函数回调以打开对话框
- 函数回调、局部变量和 chrome.storage.sync.get
- Jquery Ajax 没有拾取选项参数中指定的函数回调
- 如何在 javascript 中进行函数回调
- 用函数回调封装JavaScript
- jQuery JavaScript嵌套异步函数回调
- Node.js-匿名函数回调
- 函数回调超出范围
- php代码的Javascript函数回调
- 如何使用函数回调在更改时提交表单