Können Sie sich in Chrome in nicht behandelte Promise-Ablehnungen einklinken? [Duplikat]

9

Vor einiger Zeit hat v8 die Funktion zur Erkennung von Versprechen erhalten, die abgelehnt wurden, aber keine Handler haben ( commit ). Das ist in Chrome als ein schöner Konsolenfehler gelandet, besonders nützlich, wenn Sie einen Tippfehler gemacht haben oder vergessen haben, einen Handler anzuhängen:

Ich würde gerne einen Handler hinzufügen, um etwas zu unternehmen (z. B. an einen Fehlermeldungsdienst zu berichten), wenn dies geschieht, ähnlich dem nicht abgefangenen Ausnahmemuster:

%Vor%

Alternativ suche ich nach einem Mechanismus, mit dem ich automatisch eine Art Callback aufrufen kann, wenn ein Versprechen abgelehnt, aber nicht bearbeitet wird.

    
Michelle Tilley 25.09.2015, 18:34
quelle

1 Antwort

1

Bis window.addEventListener('unhandledrejection', e => ...) hier ist, kannst du deinen eigenen Promise-Konstruktor hacken, der das ursprüngliche Versprechen erstellt und catch bei der Übergabe aufruft:

%Vor%

Aber es scheint, dass wir auch then , catch und Promise.reject patchen müssen - viel Arbeit.

Jemand möchte vielleicht in solchen Fällen ein Polyfill schreiben, um das benutzerdefinierte Ereignis unhandledrejection auszulösen.

    
ilyaigpetrov 04.10.2015 14:04
quelle