为什么这个 JavaScript ES6 示例中“await”之后的代码没有运行?

Tyl*_*ler 0 javascript async-await ecmascript-6 es6-promise

我有以下片段:

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

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

jk()
Run Code Online (Sandbox Code Playgroud)

当我运行此代码段时,它会等待一秒钟,然后记录“4”,然后结束。“6”永远不会被记录。

为什么?

See*_*ROM 5

您从未在zxcv以下方面解决您的承诺:

let zxcv = () => new Promise((resolve, reject) => {
    setTimeout(() => {
        console.log(4)
        resolve()
    }, 1000)
})
Run Code Online (Sandbox Code Playgroud)

否则承诺将无限期挂起!