# 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

# 循环中断

forEach方法无法直接中断循环。它会遍历数组的所有元素,并对每个元素执行指定的回调函数。不过,可以通过抛出异常来模拟中断循环的效果。

可以考虑使用for循环或其他迭代方法,如for...of、map或reduce。