js 同触发大量类似 ajax 请求的优化方法

存档供查阅

js 同触发大量ajax 请求的优化方法,思路是将每次请求的参数保存下来组成一个时间段内最终的参数后一次请求,这种方法主要用对同一个接口瞬时使用不同参数请求的处理

 

 

var event_time =0;
var params = {};

changeEvent:function(){
    var that = this;
    var time =(new Date()).getTime();
    if (time - event_time > 100){
        event_time = (new Date()).getTime();
        //console.dir("赋值时间:"+event_time);
    }
     
    toggleEvent();

},
toggleEvent:function(){
    var that = this;
    var now_time =(new Date()).getTime();
    if (event_time == 0){
        //结束本次事件
        return ;
    }
    if (now_time - event_time > 100){
        //console.dir("执行网络请求"+now_time);
        event_time = 0;
        getAjaxData();

    }else{
        //console.dir("不执行网络请求,并进行下一次判断"+now_time);
        setTimeout(function () {
            toggleEvent ();
        },10);
    }


},
getAjaxData:function(){
   //处理请求

}



////调用 
test:function(){

   //此处处理参数值 
   params["param1"] = 1;
   params["param2"] = 1;
   //.....
   //后面会覆盖之前的

  
   changeEvent();
}