array实现异步foreach
时间: 2023-07-07 19:42:10 浏览: 155
在JavaScript中,可以通过async/await和Promise来实现异步的forEach操作。以下是一个使用Promise实现的异步forEach的示例:
```javascript
async function asyncForEach(array, callback) {
for (let index = 0; index < array.length; index++) {
await callback(array[index], index, array)
}
}
```
在上面的示例中,我们定义了一个asyncForEach函数,它接受一个数组和一个回调函数作为参数。在该函数中,使用for循环遍历数组,同时在每次循环中使用await关键字等待回调函数执行完毕。由于回调函数是一个异步操作,因此使用await关键字可以确保该操作执行完毕后再继续执行下一次循环。
以下是一个使用asyncForEach函数来遍历数组的示例:
```javascript
const myArray = [1, 2, 3, 4, 5]
asyncForEach(myArray, async (item) => {
console.log(item)
await sleep(1000)
})
function sleep(ms) {
return new Promise(resolve => setTimeout(resolve, ms))
}
```
在上面的示例中,我们使用asyncForEach函数来遍历myArray数组,并且在每次循环中使用sleep函数来模拟一个异步操作。由于使用了await关键字,因此在每次循环中会等待1秒钟后再继续执行下一次循环。这样就可以确保异步操作按照顺序依次执行。
阅读全文