JS在循环遍历时按同步顺序依次执行异步操作
错误写法
使用forEach
循环
1 | function fn() { |
正确写法
使用for i
循环
1 | async function fn() { |
原因
forEach
的回调函数都是同步调用的,在forEach
的回调里进行异步操作,每次遍历进行的这些异步操作会并行执行。在 JavaScript 中几乎所有的回调函数都是异步调用的,但是forEach
方法的回调函数是同步调用的,同样,find()
和findIndex()
函数也都是同步调用回调函数的。