Ich versuche, die Quelle einer unbehandelten Ablehnung eines Versprechens in Node.js zu finden
Ich habe versucht, mit der --async-stack-traces
Option auf Node Version 12 zu aktualisieren und sie mit folgenden Funktionen abzuhören:
process.on("unhandledRejection",( reason, promise ) => {
console.log(reason);
console.log(promise);
});
Aber ich sehe immer noch keine hilfreiche Stapelspur, die mir hilft, den Schuldigen zu finden!
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)
Ausführen von Node v10.10.0
const cyclic = Promise.resolve().then(()=>cyclic);
Suchen Sie also nicht nach einer unbehandelten Ablehnung von Versprechungen, diese befindet sich im internen Code des Knotens.
npm i bluebird
und Hinzufügen const Promise = require('bluebird')
des Codes kann zu einer detaillierteren Fehlermeldung führen
--trace-warnings
Wenn Sie versuchen, einen Knoten mit nicht behandelten Ablehnungen auszuführen, werden Warnungen angezeigt, die Sie verfolgen können