原文:for循环中有异步操作导致数据顺序错乱的问题

经常会遇到for循环里有异步操作,比如某些条件下要去请求数据,某些条件下只是静态数据。最终得到的结果和预期的不一致。 我们期望的结果是按照循环顺序的数据结果: , , , , , , , , , 但实际输出:异步的结果被追加在了静态数据之后 那么应该如何获取想要的顺序呢 其实很简单,promise 搞定 最终结果: , , , , , , , , , 赞 ...

2021-09-22 10:39 0 154 推荐指数:

查看详情

vue 里 for循环中有异步操作导致数据错序的问题

在做项目应该会经常遇到这种场景,就是在循环中请求数据,但是由于异步问题,会让数据错乱 比如上述代码,希望获得的数据是 [10, 1, 12, 3, 14, 5, 16, 7, 18, 9], 但是打印结果如下所示,所有异步回来的数据都被追加在了最后 解决方案 ...

Fri Dec 18 21:56:00 CST 2020 0 1102
js for 循环中有异步函数时,回调函数总是最后一步的值。

原因:for循环执行时不会等待异步函数执行。 解决方法: 1、改为递归函数(暂时不会)。 2、构建一个自执行函数传参(匿名函数) 参考::https://www.cnblogs.com/csuwujing/p/8021913.html 例如 for (var i = 0; i < ...

Sat Oct 06 02:22:00 CST 2018 0 1202
JavaScript for循环里边异步操作问题

问题:(DRIVING.search是异步操作) for循环中异步操作导致aDistances数组里边的数据全部都是从A_SHOP_INFO数组中最后一条数据获取的值。 解决办法:可以用$.each来代替for循环    ...

Mon Nov 07 23:15:00 CST 2016 0 2622
关于for循环里面异步操作问题

https://www.cnblogs.com/vipzhou/p/6519552.html 关于for循环里面异步操作问题 首先来看一个比较简单的问题,我们想实现的就是每隔1s输出0-4的值,就是这么简单,看下错误写法: ...

Fri Apr 05 23:14:00 CST 2019 0 3855
关于for循环里面异步操作问题

首先来看一个比较简单的问题,我们想实现的就是每隔1s输出0-4的值,就是这么简单,看下错误写法: function test() { for (var i = 0; i < 5; ++i) { setTimeout(function ...

Wed Mar 08 23:10:00 CST 2017 4 11925
关于for循环里面异步操作问题

一、使用自执行函数   1、当自执行函数在循环当中使用时,自执行函数会在循环结束之后才会运行。比如你在自执行函数外面定义一个数组,在自执行函数当中给这个数组追加内容,你在自执行函数之外输出时,会发现这个数组当中仕么都没有,这就是因为自执行函数会在循环运行完后才会执行。   2、当自执行函数 ...

Thu Aug 09 00:35:00 CST 2018 0 1688
如何处理循环异步操作

如何处理循环异步操作 先看一段代码 正确处理思路 另外还有一种递归的处理思路 原文地址:http://www.fly63.com/article/detial/6407 ...

Fri Jan 03 19:07:00 CST 2020 0 753
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM