gpt4 book ai didi

ajax - ExtJS 加载掩码 : manage several loadMask in multi-ajax calls

转载 作者:行者123 更新时间:2023-12-01 06:42:15 24 4
gpt4 key购买 nike

在我的应用程序中,我需要同时执行多个 ajax 请求,但每个请求根据响应大小花费不同的时间。为了避免在 ajax 请求期间进一步操作,我想在每个 ajax 调用中使用 Ext.LoadMask,如下所示:

for(var i=0; i<ajaxCount; i++) {
var loadMask = new Ext.LoadMask(Ext.getBody(), {msg:"Loading " + ajaxName[i]});
Ext.Ajax.request({
success: function() {
loadMask.hide();
},
failure: function() {
loadMask.hide();
}
}
}

但是,我发现 hide() 会隐藏内存中的所有 loadMaskes。我想做的是只隐藏这个 ajax 请求中的那个,这样在所有请求结束之前总是有一个掩码。

还有其他实现方式吗?

谢谢!

最佳答案

为什么不对所有请求使用一个相同的掩码,并在所有请求返回后将其删除?

var requestCounter = 0;
function hideMask(){
if (requestCounter > 1){
requestCounter--;
} else {
loadMask.hide();
}
}
if (ajaxCount > 0){
var loadMask = new Ext.LoadMask(Ext.getBody(), {msg:"Loading"});
}

for(var i=0; i<ajaxCount; i++) {
requestCounter++;
Ext.Ajax.request({
success: hideMask,
failure: hideMask
}
}

关于ajax - ExtJS 加载掩码 : manage several loadMask in multi-ajax calls,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9132217/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com