最近,項目中須要按照前後順序發送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); } });