当使用 Visual Studio Code 等工具在 Node.JS 中调试
then
承诺回调时,调用堆栈似乎几乎是多余的。 它不是提供从逻辑角度实际调用我的代码的函数,而是提供从字面角度调用我的代码的函数; Bluebird 库(或者可能是 Q 库)函数。 我实际上想看到的是之前执行的 Promise 函数,或者 Promise 链的“发起者”。 从逻辑角度来说这就是我关心的程序流程。 有没有办法在调试过程中获取这些信息?
您要意识到,您要求的并不是实际的调用堆栈。根据 Promise 规范,当调用
.then()
处理程序时,调用堆栈将清除所有代码 - 这就是异步处理程序发生的情况。
也就是说,我理解您希望看到什么(异步流堆栈或类似的东西),但我不知道截至 2017 年有任何工具可以提供该功能。 Bluebird Promise 库 有一种方法为您提供可能与您的问题相关的长堆栈跟踪