javascript中建立事件等待队列

本文介绍在JavaScript中使用事件回调队列管理并发异步请求的方法,包括初始化队列、添加请求和服务器回调处理逻辑,实现高效、有序的请求与响应管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在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;
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值