J'essaie de trouver la source d'un rejet non géré d'une promesse dans Node.js
J'ai essayé de mettre à niveau vers Node version 12, en utilisant l' --async-stack-traces
option, et en les écoutant en utilisant:
process.on("unhandledRejection",( reason, promise ) => {
console.log(reason);
console.log(promise);
});
Mais je ne vois toujours aucune trace de pile utile pour m'aider à trouver le coupable!
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)
Exécution de Node v10.10.0
const cyclic = Promise.resolve().then(()=>cyclic);
, alors ne recherchez pas un rejet de promesse non géré, celui-ci est dans le code interne du nœud.
npm i bluebird
et l'ajout const Promise = require('bluebird')
au code peuvent vous donner un message d'erreur plus détaillé
--trace-warnings
, les rejets non gérés sont accompagnés d'avertissements que vous pouvez suivre