js中使用队列发送ajax请求

本文介绍如何在项目中使用ExtJS4定义类来管理按顺序发送的AJAX请求,确保请求在上一次完成后才进行下一次,防止逻辑错误。通过实现一个类,该类使用数组保存请求数据并在适当的时候调用AJAX发送方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近,项目中需要按照先后顺序发送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);
  }
});

 

转载于:https://www.cnblogs.com/tazi/p/3490290.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值