您的位置:首页 > Web前端 > JavaScript

javascript中建立事件等待队列

2012-04-26 16:47 260 查看
在javascript中,我们经常要用到异步请求服务器资源,当一次客户端请求,需要多次服务器资源请求时,就会涉及到xmlhttp的多个请求,由于不能确定服务器端何时响应;此时如果建立一个事件回调队列,存储已经发送的请求,当服务器响应后调用该队列来处理与之相应回调函数。

var EventHandler = {
_list:[],//待调用的队列,在初始化时已经设置完成
attach:function(obj,ev,fun){
this._list.push({o:obj,e:ev,f:fun});
},
exec:function(obj,method,args){//服务器回调时,调用此方法
var arr=[];
for(var i=0;i<this._list.length;i++){
if(this._list[i].o==obj&&this._list[i].e==method){
arr.push(this._list[i]);
}
}
for(var i=0;i<arr.length;i++){
arr[i].f(args);
}
}
}
初始化时,给队列赋值:
EventHandler.attach(temp,"getlist",temp.getlist);
EventHandler.attach(temp,"showpage",temp.showpage);
服务器回调方法:
function callback(data,method){
switch(method){
case "getlist":
EventHandler.exec(temp,"getlist",data);
break;
case "showpage":
EventHandler.exec(temp,"showpage",data);
break;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息