为什么这段代码停在中间?
async function main () {
await new Promise(() => {
console.log('Hello world')
})
console.log('debug1')
await new Promise(r => setTimeout(r, 1000));
console.log('finish')
}
main()
这段代码只打印“Hello world”,而不打印“debug1”或“finish”,为什么?
您没有解决第一个承诺,因此代码卡在等待承诺解决的过程中。要修复它,请像这样解决承诺:
async function main () {
await new Promise(resolve => {
console.log('Hello world');
resolve();
})
console.log('debug1')
await new Promise(r => setTimeout(r, 1000));
console.log('finish')
}
main()