So finden Sie die Versprechungen sind in unbehandelte Node.js UnhandledPromiseRejectionWarning?

Node.js ab version 7 hat async/await-syntaktische Zucker für die Handhabung verspricht und jetzt in meinem code die folgende Warnung kommt sehr oft:

(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.

Leider gibt es keine Referenz auf die Zeile, wo der Haken ist, fehlt.
Gibt es eine Möglichkeit es zu finden ohne zu prüfen, alle try/catch-block?

Sie konnte die Bluebird Versprechen, Bibliothek und es würde wahrscheinlich geben Ihnen einen stack-trace.
Vielleicht registrieren zu Knoten unhandledRejection event helfen? Siehe die docs. Der callback erhält die Error Objekt und der eigentliche Promise, und ich glaube, die Error Objekt könnte ein stack-trace.
Wenn die zwei vorherigen Kommentare nicht helfen, dann Can't set headers after they are sent. sollten Sie einen Anhaltspunkt geben, wo in deinem code könnte es passiert sein (also irgendwo setzen, Header, nach dem Header würde sich schon geschickt - vermutlich, weil ein Versagen im Verständnis von asynchronem code, aber das ist eine Vermutung)
hi, die Nachrichten hilft sicher bei der Suche, wo im code der Fehler ist, btw es ist nicht so einfach wie zu wissen, die Linie.
Es stellt sich heraus, es war eine situation, wo eine async-Funktion zum auslösen einer Fehler-jene, die internen Knoten verspricht für async-Funktionen nicht verwenden, Bluebird, je nachdem Bluebird hilft nicht in diesem Szenario.

InformationsquelleAutor user1658162 | 2017-05-07

Schreibe einen Kommentar