[js] for forEach for of 循环里await关键字的用法
在JavaScript中,for
循环、forEach
方法和for...of
循环都可以用来遍历数组,并且可以配合await
关键字来实现异步操作。
- 使用
for
循环:
async function asyncForLoop() {
const array = [1, 2, 3, 4, 5];
for (let i = 0; i < array.length; i++) {
await someAsyncOperation(array[i]);
}
}
- 使用
forEach
方法:
async function asyncForEach() {
const array = [1, 2, 3, 4, 5];
array.forEach(async (item) => {
await someAsyncOperation(item);
});
}
注意:在forEach
回调函数内部不能使用await
,因为forEach
没有返回值,所以不能使得函数内部的操作变为异步。
- 使用
for...of
循环:
async function asyncForOf() {
const array = [1, 2, 3, 4, 5];
for (const item of array) {
await someAsyncOperation(item);
}
}
在所有这些情况中,someAsyncOperation
是一个异步函数,它可能执行一些异步操作,比如网络请求等,并返回一个Promise。在await
关键字后面调用这个函数,会暂停for
循环,直到Promise解决。这确保了循环内的异步操作会按顺序执行。
评论已关闭