js在for循环中执行异步操作,把每次异步的结果保存在数组中,如何在循环外面使用数组?

发布于 2022-01-06 20:59:00 字数 375 浏览 550 评论 7

在for循环里面输出的结果为

在for循环外面输出为 【】

我想在外面期望拿到的结果是for循环最后一次输出的值  【2,1,5】

怎么做到呢?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(7

各自安好 2022-01-08 00:42:38

你这是有http请求吧

好听的两个字的网名 2022-01-08 00:37:23

数组看着队列,入栈出栈操作就是,只是出栈时判断当前位置是否有值就可以了

笑红尘 2022-01-07 23:56:39

for 改成  递归方式  就可以了

掩饰不了的爱 2022-01-07 23:40:33

引用来自“你讨厌啦”的评论

要用Promise。 Promise.all(delAllotSlaveLists.map(getSlaveDevicesId)).then(output => console.log(output.map(data => data[0].id)))

爱的那么颓废 2022-01-07 20:25:08

改成同步模式,for里的异步代码没有执行完毕,已经进行打应

 

吃颗糖壮壮胆 2022-01-07 20:09:07

1、改成同步方式,应该不满足你的要求;

2、增加一个计数,每完成一个数据处理增加1。设置一个循环延时来检测计数是否达到数组长度,达到就跳出循环。还可以用Promise.all;

晚风撩人 2022-01-07 14:53:10

你把函数里面的console.log()注释下,看看呢

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文