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