为什么这个JavaScript ES6例子中的" await "后面的代码没有被运行?

问题描述 投票:0回答:1

我有以下的片段。

let zxcv = () => new Promise((resolve, reject) => {
    setTimeout(() => {
        console.log(4)
    }, 1000)
})

async function jk(){
    await zxcv()
    console.log(6)
}

jk()

当我运行这个片段时,它等待了一秒钟,然后记录了 "4",然后结束。"6 "从来没有被记录。

为什么会这样?

javascript ecmascript-6 async-await es6-promise
1个回答
5
投票

你从未解决你的承诺 zxcv:

let zxcv = () => new Promise((resolve, reject) => {
    setTimeout(() => {
        console.log(4)
        resolve()
    }, 1000)
})

否则,承诺就会无限期地悬空!

© www.soinside.com 2019 - 2024. All rights reserved.