# JavaScript的循环
# 执行顺序
forEach内部的请求是并发执行的。由于forEach方法是同步执行的,它会立即遍历数组并按顺序依次执行回调函数。
forEach 会用 while循环 判断当前的索引是否小于数组的length,如果小于会一直执行下去不会等待异步任务执行完成.
如果需要按顺序执行,可以使用for...of 或者for循环
for (const [index,item] of body.content.entries()) {
let newRow = await getStatus(item);
setTableData(
produce((draft) => {
draft[index] = newRow;
}),
);
}
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
# 循环中断
forEach方法无法直接中断循环。它会遍历数组的所有元素,并对每个元素执行指定的回调函数。不过,可以通过抛出异常来模拟中断循环的效果。
可以考虑使用for循环或其他迭代方法,如for...of、map或reduce。