javascript - 查找未处理的 promise 拒绝 : TypeError: Chaining cycle detected for promise 的来源

标签 javascript node.js promise v8

我正在尝试从 Node.js 中的 Promise 中找到未处理拒绝的来源

我尝试使用 --async-stack-traces 升级到 Node 版本 12选项,并使用以下方法监听它们:

process.on("unhandledRejection",( reason, promise ) => {
  console.log(reason);
  console.log(promise);
});

但是我仍然没有看到任何有用的堆栈跟踪来帮助我找到罪魁祸首!
UnhandledPromiseRejectionWarning: TypeError: Chaining cycle detected for promise #<Promise>
    at process._tickCallback (internal/process/next_tick.js:68:7)
(node:89675) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 11)

运行 Node v10.10.0

最佳答案

如果你错过了一个有用的堆栈跟踪,你可以通过在你的处理程序中重新抛出你的错误来让 Node 创建一个新的,如下所示:

process.on('unhandledRejection', (reason, p) => { throw reason });

这样,您应该能够找到罪魁祸首。

关于javascript - 查找未处理的 promise 拒绝 : TypeError: Chaining cycle detected for promise 的来源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59286837/

相关文章:

node.js - Mongodb find 查询花费太多时间

javascript - 为什么这个 Promise 中的 setState 比异步函数的相同代码需要更长的时间来更新?

javascript - 多个 ng-options 设置默认选项选择不起作用

javascript - 覆盖 Node 服务器中的文件

node.js - 如何让 Heroku Node.js 实例无限期运行?

javascript - 在 Vue 组件中链接不同的 API 调用,包括带有 for 循环的调用

javascript - 多个 Node.js 请求

javascript - 为什么 JavaScript 中调用函数这么慢?

javascript - Firebase Auth 登录区别

javascript - 通过 HTML5 API(RecordJS 或替代方案)将音频录制为 AAC