web-dev-qa-db-ja.com

未処理のプロミス拒否のソースの検索:TypeError:プロミスの連鎖サイクルが検出されました

Node.jsでPromiseからの未処理の拒否の原因を見つけようとしています

Nodeバージョン12にアップグレードし、--async-stack-tracesオプションを使用して、以下を使用してそれらをリッスンしてみました。

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

11
d-_-b

すべての提案に感謝します。最新にアップグレードしてもう一度試しましたNode 12.14.1そしてスタックトレースを表示するように最終的に取得することができました:

node --async-stack-traces myScript.jsと組み合わせて:

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

そして、それはエラーを追跡しました。

0
d-_-b