如何在 VSCode 调试器中执行异步函数?

Ale*_*ong 12 javascript node.js async-await visual-studio-code

如果我在一些 javascript 代码中放入 VSCode 调试器并使用 wait 调用异步函数,它只会返回一个承诺。如何解决调试器中的承诺,以便我可以看到结果是什么?

例如,如果我定义一个像这样的函数:

const doAsyncThing = async () => {
    return new Promise((resolve) => {
        setTimeout(() => {
            resolve(5)
        }, 1000)
    })
}
Run Code Online (Sandbox Code Playgroud)

然后当我在调试器中调用它时会发生这种情况:

> const result = await doAsyncThing()
Promise {<pending>}
> result
Uncaught ReferenceError: result is not defined
> doAsyncThing().then(r => console.log(r))
Promise {<pending>}
> await doAsyncThing().then(r => console.log(r))
Promise {<pending>}
Run Code Online (Sandbox Code Playgroud)

我怎样才能让它解决承诺并在调试器中得到结果?

这不是How to debug async/await in Visual Studio Code?的重复项

这个问题似乎是在问如何在异步函数中放置断点,而我试图从调试器实际执行该函数。

我在此处的新帖子中重新创建了这个问题,因为我不认为它与上述帖子重复。这是我第一次发帖,所以希望这是正确的做法。

spa*_*ted -2

也许在函数调用前面放一个“await”?