同时三个AJAX请求完成后,再做一件事。

在我们的项目中,采用AJAX请求数据,等请求数据完成再做一件事情。比如说我的首页有三个AJAX数据请求,请求前将弹出遮罩层,但是要当这三个请求完成后,再将层隐藏。它们没有任何先后顺序(不像省市县这样的加载),这个时候可以采用这种来实现。我是有EXTJS4的项目。

下面的这个类起关键作用。

Ext.define("CMDBuild.Utils.CMRequestBarrier", {
constructor: function(cb) {
var me = this;
this.dangling = 1;


this.cb = function () {
me.dangling--;
if (me.dangling == 0) {
cb();
}
}
},


getCallback: function() {
this.dangling++;
return this.cb;
},


start: function() {
this.cb();
}
});

// 弹出层遮罩层代码省了,

var reqBarrier = new CMDBuild.Utils.CMRequestBarrier(function callback() {
.....最终要处理的函数体
});

Ext.Ajax.request( {

url:''
params : {
active : false
},
success : function(response) {

},
callback: reqBarrier.getCallback()
});

Ext.Ajax.request( {

url:''
params : {
active : false
},
success : function(response) {

},
callback: reqBarrier.getCallback()
});

Ext.Ajax.request( {

url:''
params : {
active : false
},
success : function(response) {

},
callback: reqBarrier.getCallback()
});
reqBarrier.start();


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值