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.
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:
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.
Tags und Links javascript google-chrome promise