//按顺序执行多个ajax命令,因为数量不定,所以采用递归
function send(action, arg2) {//将多个命令按顺序封装成数组对象,递归执行//利用了deferred对象控制回调函数的特点$.when(send_action(action[0], arg2)).done(function () {//前一个ajax回调函数完毕之后判断队列长度if (action.length > 1) {//队列长度大于1,则弹出第一个,继续递归执行该队列
            action.shift();send(action, arg2);}}).fail(function (){//队列中元素请求失败后的逻辑//
        //重试发送//send(action, arg2);//
        //忽略错误进行下个//if (action.length > 1) {//队列长度大于1,则弹出第一个,继续递归执行该队列//    action.shift();//    send(action, arg2);//}
    });
}//处理每个命令的ajax请求以及回调函数
function send_action(command, arg2) {var dtd = $.Deferred();//定义deferred对象
    $.post("url",{command: command,arg2: arg2}).done(function (json) {json = $.parseJSON(json);//每次请求回调函数的处理逻辑//
        //
        //
        //逻辑结束
        dtd.resolve();}).fail(function (){//ajax请求失败的逻辑
        dtd.reject();});return dtd.promise();//返回Deferred对象的promise,防止在外部修改状态
}

转载于:https://www.cnblogs.com/sherlock99/p/4726870.html

按照顺序执行异步ajax的回调函数相关推荐

  1. ajax回调方法名使用什么事件,ajax的回调函数和匿名函数

    1.什么是js回调函数 一. 回调函数的作用 js代码会至上而下一条线执行下去,但是有时候我们需要等到一个操作结束之后再进行下一个操作,这时候就需要用到回调函数. 二. 回调函数的解释 因为函数实际上 ...

  2. json,异步加载,回调函数

    json,异步加载,回调函数 json文件格式 json文件格式传送的是对象 但是服务器接收以及发送的都是文本,Linux系统中飞的都是文本.. json文件中的对象属性名都要双引号包裹起来,以区别一 ...

  3. 回调函数举例ajax,通过回调函数的理解来进一步理解ajax及其注意的用法

    一,再一次理解回调函数 (function($){ $.fn.shadow = function(opts){ //定义的默认的参数 var defaults = { copies: 5, opaci ...

  4. ajax回调函数的返回值,使用ajax和回调函数向函数传递/返回值

    我试图读p_info函数返回从函数getproductInfo包含ajax调用,但我得到未定义的值.我使用回调函数来实现这一点,但仍然无法正常工作.我错在哪里?使用ajax和回调函数向函数传递/返回值 ...

  5. struts通过Ajax返回数据时,例如对象类型,没有执行Ajax的回调函数

    <result type="json"  name="success">                  <param name=" ...

  6. 036_jQuery Ajax全局回调函数

    1. ajaxStart()方法 1.1. ajaxStart()方法在AJAX请求发送前执行函数. 1.2. 语法 $(selector).ajaxStart(function(even)) 1.3 ...

  7. ajax 成功回调函数,jQuery的阿贾克斯成功回调函数定义jQuery的阿贾克斯成功回调函数定义(jQuery ajax...

    我想使用jQuery的ajax从服务器获取数据. 我希望把成功的回调函数定义外面.ajax()块像下面这样. 所以,我需要声明变量dataFromServer像下面这样我就能从成功回调使用返回的数据? ...

  8. ajax五种回调函数,Ajax的回调函数

    一,为什么要使用回调函数? 首先我们应该明白我们为什么要用回调函数?我们用它能解决什么样的问题. function d(){} (function(){ (function(){ var temp = ...

  9. JS 异步发展流程(回调函数=Async/await)

    异步编程的语法目标,就是怎样让它更像同步编程 什么是异步? 异步任务指的是,不进入主线程.而进入"任务队列"(task queue)的任务,只有"任务队列"通知 ...

最新文章

  1. 读自动驾驶激光雷达物体检测技术(Lidar Obstacle Detection)(3):Segmentation
  2. make for arm
  3. 分类系列之感知器学习算法PLA 和 口袋算法Pocket Algorithm
  4. zabbix3.2监控mysql_zabbix3.2监控MYSQL状态
  5. 使用Google Cloud Platform分散您的应用程序
  6. 断开式绑定数据在comboBox中 winform
  7. 用SonBuddy搭建无线局域网,共享上网。(SONBuddy常见问题,无线组网,共享,上网,笔记本)...
  8. 请问学习前端最有效的办法是什么?
  9. 被阿里带火的数据中台:“大中台、小前台”战略是什么?
  10. 14、ASP.NET MVC入门到精通——Ajax
  11. vscode markdown实时预览
  12. 数据结构和算法——线性结构(2)循环链表和双向循环链表
  13. SRIO的介绍和IP核解析
  14. 资源白朴收藏:图片、 视频、音频、字体、PPT模板类、动态图、壁纸、图标
  15. NewLife kick off
  16. 图灵奖得主(麦卡锡\霍尔)
  17. 【深入理解TcaplusDB技术】入门Tcaplus-JDBC开发
  18. Vue笔记随笔---kalrry
  19. 别当工具人了,手摸手教会你 Jenkins !
  20. CF1740H MEX Tree Manipulation

热门文章

  1. 排序---对二维数组的排序
  2. 基于JDK7 NIO2的高性能web服务器实践之二(转)
  3. mmap直接控制底层
  4. c语言字符串的计算方法
  5. 使用docker部署lnmp
  6. python布尔系列_python – 获取pandas布尔系列为True的索引列表
  7. idea连接mysql例子_IDEA连接MySQL数据库,并把数据库数据在浏览器中进行展示
  8. 判断用户是否存在再进行新增_基于tableau从商业分析模型角度对业务数据进行多维度分析--【商业分析类】...
  9. python语句分类_Python新手入门【语句类型】
  10. 企业云上安全事件突发,这五个问题值得运维大佬们日常自查!