我正在学习 Node.js。
我必须在循环work()内调用异步函数Promise.all(),并且必须在继续执行 Promise.all() 之后的语句之前完成该函数。目前,它到达了FINISH未完成的状态work()。
让代码等待 work() 函数完成的正确方法是什么?
const promise1 = Promise.resolve(1);
const promise2 = Promise.resolve(2);
const promise3 = Promise.resolve(3);
async function work() {
await new Promise((resolve, reject) => {
setTimeout(resolve, 2000, 'foo');
})
console.log('some work here')
}
async function main() {
await Promise.all([promise1, promise2, promise3]).then((values) => {
values.forEach(function(item) {
console.log(item)
work()
});
});
console.log('FINISH')
}
main()Run Code Online (Sandbox Code Playgroud)