如何正确调试 node.js 中的简单承诺?
How to debug simple promises in node.js properly?
我的问题是,当我调试我的节点应用程序时,我无法通过简单的 运行 调试看到承诺的结果。
例如,我有以下无法调试的代码:
sampleRepository
.find()
.then(result => result) // breakpoint goes here
.catch(err => err)
当我把断点放在那里时,我看不到结果变量的值。所以我不得不重构代码来解决它。
作为解决方法,我正在做的是:
sampleRepository
.find()
.then(result => {
return result; // breakpoint goes here
})
.catch(err => err)
它起作用了,因为现在我可以看到 "result" 变量的值,但我每次都必须重构代码。有没有更简单的方法来调试这些承诺而不是重构代码?
实际上 vscode
已经支持了。您在 then
-handler 上设置断点,然后在遇到断点后使用 step into。检查我制作的这个小 .gif:https://imgur.com/a/LNCJ4kV
注意:我使用的版本是 1.45.1
我的问题是,当我调试我的节点应用程序时,我无法通过简单的 运行 调试看到承诺的结果。
例如,我有以下无法调试的代码:
sampleRepository
.find()
.then(result => result) // breakpoint goes here
.catch(err => err)
当我把断点放在那里时,我看不到结果变量的值。所以我不得不重构代码来解决它。 作为解决方法,我正在做的是:
sampleRepository
.find()
.then(result => {
return result; // breakpoint goes here
})
.catch(err => err)
它起作用了,因为现在我可以看到 "result" 变量的值,但我每次都必须重构代码。有没有更简单的方法来调试这些承诺而不是重构代码?
实际上 vscode
已经支持了。您在 then
-handler 上设置断点,然后在遇到断点后使用 step into。检查我制作的这个小 .gif:https://imgur.com/a/LNCJ4kV
注意:我使用的版本是 1.45.1