博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
解决在循环中使用ajax异步时,数据的同步问题
阅读量:6137 次
发布时间:2019-06-21

本文共 787 字,大约阅读时间需要 2 分钟。

  hot3.png

这个标题看起来有点儿拗口,说白就是,在for循环中使用ajax的异步同步数据时,如何按照给定数据的先后顺序去执行呢?这个是困扰了我好几天的问题,今天终于解决了,使用的是jquery的Deferred,具体代码如下:

var data = ['one','two','three','four','five','six','seven','eight'];var defer = $.Deferred();//这一步必须要写,要不然下面的then无法使用defer.resolve($("#showContent").append("这个里面可以什么都不写
"));$.each(data,function(i,e){ defer = defer.then(function () { return $.ajax({ url:'/echo/json/', method:'get', beforeSend:function(){ $("#showContent").append(e + "开始数数
"); }, success:function(data){ $("#showContent").append(e + "执行完成
"); //如果返回的结果有问题,这里可以用return false退出循环 } }) });});defer.done(function(){ $("#showContent").append("ajax全部执行完成
")});

通过上面的例子可以很好的看到,程序是按照数组的顺序执行的,这样即用到了异步,而且还保证了执行顺序,不错的方法。

转载于:https://my.oschina.net/sucre/blog/781732

你可能感兴趣的文章
rsync 服务器配置过程
查看>>
预处理、const与sizeof相关面试题
查看>>
爬虫豆瓣top250项目-开发文档
查看>>
Elasticsearch增删改查
查看>>
oracle归档日志增长过快处理方法
查看>>
有趣的数学书籍
查看>>
teamviewer 卸载干净
查看>>
多线程设计模式
查看>>
解读自定义UICollectionViewLayout--感动了我自己
查看>>
SqlServer作业指定目标服务器
查看>>
UnrealEngine4.5 BluePrint初始化中遇到编译警告的解决办法
查看>>
User implements HttpSessionBindingListener
查看>>
抽象工厂方法
查看>>
ubuntu apt-get 安装 lnmp
查看>>
焊盘 往同一个方向增加 固定的长度方法 总结
查看>>
eclipse的maven、Scala环境搭建
查看>>
架构师之路(一)- 什么是软件架构
查看>>
jquery的冒泡和默认行为
查看>>
USACO 土地购买
查看>>
【原创】远景能源面试--一面
查看>>