Node.js de la version 7 a du sucre syntaxique async / await pour gérer les promesses et maintenant, dans mon code, l'avertissement suivant apparaît assez souvent:
(node:11057) UnhandledPromiseRejectionWarning: Unhandled promise
rejection (rejection id: 1): ReferenceError: Error: Can't set headers
after they are sent.
(node:11057) DeprecationWarning: Unhandled promise rejections are
deprecated. In the future, promise rejections that are not handled
will terminate the Node.js process with a non-zero exit code.
Malheureusement, il n'y a aucune référence à la ligne où la capture est manquante. Existe-t-il un moyen de le trouver sans vérifier chaque bloc try / catch?
unhandledRejection
événement de Node vous aidera? Consultez la documentation . Votre rappel obtient l' Error
objet et le réel Promise
, et je pense que l' Error
objet peut contenir une trace de pile.
Can't set headers after they are sent.
devrait vous donner une idée de l'endroit où cela pourrait se produire dans votre code (c'est-à-dire quelque part où vous définissez des en-têtes après que les en-têtes auraient déjà été envoyés - probablement à cause d'une mauvaise compréhension du code asynchrone , mais c'est une supposition)