• js中使用队列发送ajax请求


    最近,项目中需要按照先后顺序发送ajax请求,并且在一次请求结束后才能发起下一次,不然就会导致逻辑错误。

    解决办法是定义一个数组,保存ajax请求数据。

    以下使用extjs4定义一个类

    Ext.define('tazi.Test', {
    
      answerList:[],   //保存应答数据
    
      saveAnswer:function(answer){   //需要把应答数据保存到数据库中的第一层方法
    
         this.answerList.push(answer);
          if(!this.answerInterval){
             this.startAnswerInterval();
          }
      },
      startAnswerInterval:function(){  //启动
        var me=this;
          me.isRun=false;
          me.answerInterval=setInterval(function(){
               if (me.answerList.length > 0 && !me.isRun) {
                     me.isRun = true;
                     var answer=me.answerList.shift();
                     ajaxRequest({       //自定义的发送ajax请求的方法
                              url:'commandAction!saveAnswer.action',
                         params:answer, 
                         callBack:function(result){  //请求成功返回后的回调函数
                                   me.isRun = false;  //更新同步用的参数isRun
                         }
                     });
                }
         },100);
      }
    });
  • 相关阅读:
    053364
    053363
    oracle导出批量表N行记录
    053362
    053361
    053360
    053359
    053358
    053357
    053356
  • 原文地址:https://www.cnblogs.com/tazi/p/3490290.html
Copyright © 2020-2023  润新知