【发布时间】:2019-01-23 06:09:52
【问题描述】:
我有一个方法可以阻止 UI 直到收到 ajax 响应。因此,向计时器添加 1 秒并阻塞加载程序直到 $.active == true,这意味着没有待处理的 ajax 请求。
但是,这里的问题是,如果抛出任何 jquery 错误/ajax 错误并且未处理,$.active 将始终为 1。应用程序被图像阻止并且永远不会变为 true。知道这个问题的替代方案或解决方案是什么吗?
function startLoader(timeout, delay) {
loader = setTimeout(function() {
$.blockUI({
message: '<img "a.png" alt="Loader"/>',
});
}, delay /*loader delay*/ );
checkPendingRequest();
}
function checkPendingRequest() {
if ($.active > 0) {
window.setTimeout(checkPendingRequest, 1000);
} else {
stopLoaderAjax();
}
}
【问题讨论】:
标签: javascript jquery ajax performance