社区
JavaScript
帖子详情
js中for循环中需要调用异步方法,怎么确保执行的顺序?
guoluxiao
2014-04-21 01:44:13
循环了三次,循环出来的结果顺序是确定的,可是如果是异步的话顺序就不对了,有什么方法可以保证顺序码
...全文
2013
7
打赏
收藏
js中for循环中需要调用异步方法,怎么确保执行的顺序?
循环了三次,循环出来的结果顺序是确定的,可是如果是异步的话顺序就不对了,有什么方法可以保证顺序码
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
_夜行者_
2015-12-17
打赏
举报
回复
亲,求助下,你是怎么解决的啊?我也遇到类似问题,头大的要死,求经验共享啊
走在四季
2015-06-08
打赏
举报
回复
引用 5 楼 guoluxiao 的回复:
恩恩,已经解决了,谢谢哦!
亲,你也是“递归”解决的吗? ajax 加async:false,好像效果不太好。
guoluxiao
2014-04-21
打赏
举报
回复
恩恩,已经解决了,谢谢哦!
阿鱼
2014-04-21
打赏
举报
回复
同意楼上的说法~ 递归是比较好的解决办法
天际的海浪
2014-04-21
打赏
举报
回复
既然是异步,就不可能用for循环, 因为for循环体中是没有办法暂停等待异步调用的。 应该用函数递归的方式循环
guoluxiao
2014-04-21
打赏
举报
回复
根据不同条件调用异步函数,所以就for着取值了,不能保证顺序么?这样的话该怎么解决呢
请叫我砖家
2014-04-21
打赏
举报
回复
异步的话不好保证了,要保证顺序的话你得确定这一次取完了再开始下一次异步,其实这跟同步没什么区别的感觉好像 话说你为什么要取三次呢.你一次取完不好么,取出来的就直接按顺序排好了
神奇的递归:Javascript递归代替for
循环
解决
循环
调用
异步
操作时数据
顺序
错乱
如下图,在用for
循环
执行
一个
异步
方法
时,会发现,无论该
方法
有没有
执行
完,
循环
都会直接开始第二次
循环
,如果对数据的
顺序
有要求的话,那么就会发现输出的
顺序
是错乱的,因为每次
异步
方法
的
执行
时间都是波动的,猜测跟系统分配的线程有关。所以会输出如下图的错乱
顺序
。 提示:之所以用setTimeout
方法
也是去模拟一个
异步
操作,用随机的时间来模拟
异步
方法
的
执行
时间的波动性。 因此遇到这种情况,就必须换...
JavaScript
循环
中
调用
异步
函数的三种
方法
,及为什么 forEach 无法工作的分析
本文主要分析在
循环
体
中
怎么
调用
异步
函数,并且满足
循环
调用
异步
函数,并在
异步
函数值返回之后,再处理后续业务的同步需求。 这篇文章是受到和 六卿 在群里讨论问题时启发而写的,主要讨论的问题就只在
循环
体内进行
异步
调用
。他也写了自己的总结: node
中
循环
异步
的问题[‘解决方案‘]_源于 map
循环
和 for
循环
对
异步
事件配合 async、await 的支持。
[
js
]
js
循环
中
调用
异步
的
方法
,如何
确保
执行
结果的
顺序
是正确的?
[
js
]
js
循环
中
调用
异步
的
方法
,如何
确保
执行
结果的
顺序
是正确的? An example: let searchApi = function(arg){ return new Promise((resolve,reject)=>{ setTimeout(()=>{ console.log(arg) resolve(arg) }, 20) }) }; let fields = [1,2,3,4];
JavaScript 在
循环
中
调用
异步
JavaScript在
循环
中
使用
异步
JS
循环
遍历
中
使用
异步
所以对于
循环
中
调用
异步
操作的需求,慎用forEach(同步),不推荐for
循环
(每次迭代身处同一作用域),推荐使用for of以及promise.all二种方式
JavaScript
87,922
社区成员
224,618
社区内容
发帖
与我相关
我的任务
JavaScript
Web 开发 JavaScript
复制链接
扫一扫
分享
社区描述
Web 开发 JavaScript
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章