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; } }
相关文章推荐
- Oracle 11g队列锁等待事件解释
- Ext javascript建立超链接,进行事件处理的实现方法
- [Effective JavaScript 笔记]第61条:不要阻塞I/O事件队列
- 自己封装的javascript事件队列函数版
- 使用事件等待句柄EventWaitHandler 实现生产者、消费者队列
- 50、JavaScript里面,自定义事件的简单实现(事件队列的简单实现)
- Ext javascript建立超链接,进行事件处理的实现方法
- 总结:JavaScript异步、事件循环与消息队列、微任务与宏任务
- 【JavaScript 学习--12】JS深入理解调用栈,事件循环机制,回调队列
- 自己封装的javascript事件队列函数版
- Effective JavaScript Item 61 不要阻塞事件队列
- javascript 事件队列加载函数 addLoadEvent
- javascript 事件队列加载函数 addLoadEvent
- javascript线程,任务队列和事件循环
- [Effective JavaScript 笔记]第65条:不要在计算时阻塞事件队列
- 详解javascript中的事件处理
- javascript事件类型
- JavaScript的事件是一种流
- javaScript 获得触发事件的元素 支持IE FireFox
- 用javascript调用表单验证事件时,为什么return false了还是把表单submit了?