$.Deferred(),for循环内异步请求问题的解决办法
来源:互联网 发布:软件研发部门规划 编辑:程序博客网 时间:2024/06/05 04:19
问题:有一个数组,数组中每一个元素异步请求后端获得相应的内容进行操作。
var arr=[];for(let i=0;i<arr.length;i++){ $.post("请求地址",“传递数据”,function(){ //异步请求后的操作 })}
for循环中使用异步请求时出现的问题就是:异步请求是不阻塞主程序,当异步请求出数据的时候,主程序可能已经结束,这就给我们程序带来问题。
如何在for循环内使用异步请求,同时保证数据的执行顺序?
解决办法:$.Deferred()
var lives=[……];var defer = $.Deferred(); defer.resolve($("#aa").append("没有意义")); //该句为必须的,即使什么也不需要操作$.each(lives,function(i,e){ defer = defer.then(function () { return $.ajax({ //进行异步请求操作 url:"请求地址", type:'post', data:{ //异步请求的数据 "username":lives[i].username, "userId":lives[i].id, }, dataType: "jsonp", success:function(data){ //异步请求后的操作 } }) }); });
另外$.deferred()相关内容还有很多,记录相关地址,以便以后学习查看:
http://www.ruanyifeng.com/blog/2011/08/a_detailed_explanation_of_jquery_deferred_object.htmlhttp://www.css88.com/archives/4750/comment-page-1
阅读全文
0 0
- $.Deferred(),for循环内异步请求问题的解决办法
- JS的for循环中几个异步请求的顺序问题
- deferred解决异步问题
- for循环中的异步问题
- for循环中进行Promise异步操作的问题总结
- for循环中进行Promise异步操作的问题总结
- JavaScript for循环中发送AJAX请求的问题
- 异步方法中map、forEach和for循环中带来的异步执行问题
- for循环内变量定义问题
- react+redux+redux-deferred实现ajax异步请求,真的良心之作啊!
- jquery Deferred 解决异步回调问题
- Ajax异步请求阻塞情况的解决办法
- $.getJSON()异步请求的问题
- \t\t当异步请求与Silverlight相遇时,彼此通信问题的解决办法
- for循环内局部变量的生命周期
- js for循环异步
- js for循环异步
- twisted中deferred异步的理解
- 高并发系统限流
- OTT系统和IPTV系统不一样吗?有什么区别?
- 关于字符串
- 关于项目的一点点总结,签到返利日历的实现
- CAN通信中地址设置的问题
- $.Deferred(),for循环内异步请求问题的解决办法
- 三个字符串s1, s2, s3, 现要求你判断s3是否由s1和s2交错组成的
- 1004: A+B(基本输入输出4)
- 【GDOI2018模拟9.23】动态图
- mysql忘记root密码如何解决(mac电脑)
- 关于AsyncTask的Executor的一些研究
- 1094: 【白书习题】数的反转
- latex: 改变图的caption Figure 1:为 Fig. 1.
- ffmpeg安装及简单使用