首页 > 解决方案 > 为什么这个 JavaScript ES6 示例中“等待”之后的代码没有运行?

问题描述

我有以下片段:

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

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

jk()

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

为什么?

标签: javascriptecmascript-6async-awaites6-promise

解决方案


你从来没有解决你的承诺zxcv

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

否则承诺将无限期挂起!


推荐阅读