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);
  }
});
相關文章
相關標籤/搜索