Die meisten APIs in Knotenbibliotheken sind asynchron von Entwurf. Wenn eine Ausnahme in einem Callback ausgelöst wird, zeigt der Stacktrace nur den Aufruf-Stack, der bei process._tickCallback beginnt.NodeJS: Ist es möglich, den Stack-Trace einer aufrufenden asynchronen Funktion anzuzeigen?
Ich frage mich, ob es einen Trick gibt, um auch den Stack-Trace der Funktion zu zeigen, die den _tickCallback trigered.
[Hier ist eine Methode, die Sie verwenden können (Link zu ein Gihub Gist).] (https://gist.github.com/lll000111/3d6a53da4d53beb909189793c7631ba6) Nachteile: Ein paar zusätzliche Zeilen Code - Sie müssen alle async umhüllen. Funktionsaufrufe mit 'try/catch' (Sie können auch' promise.catch (...) 'verwenden). Dann erstellen Sie ein neues 'Error'-Objekt und fügen seine' stack'-Eigenschaft dem vorhandenen Stapel hinzu. Wenn für ALL async getan. Funktionsaufrufe enden mit einem vollständigen Stack-Trace. Der Geschwindigkeitsnachteil (Stack-Trace-Erstellung ist teuer) sollte für Async keine Rolle spielen. Funktionen (bitte verwenden Sie keine Ausnahmen für den normalen Kontrollfluss). –