js中使用队列发送ajax请求

最近,项目中须要按照前后顺序发送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);
  }
});
相关文章
相关标签/搜索