PromiseRejectionEvent: PromiseRejectionEvent() Konstruktor
Hinweis: Dieses Feature ist verfügbar in Web Workers.
Der PromiseRejectionEvent()
Konstruktor gibt ein neues PromiseRejectionEvent
-Objekt zurück, das Ereignisse darstellt, die ausgelöst werden, wenn ein JavaScript-Promise
abgelehnt wird.
Mit Promise-Ablehnungsereignissen wird es möglich, Promises zu erkennen und zu melden, die fehlschlagen und deren Fehler unbemerkt bleiben. Es wird auch einfacher, einen globalen Fehlerbehandler zu schreiben.
Es gibt zwei Arten von PromiseRejectionEvent
: unhandledrejection
wird von der JavaScript-Laufzeit gesendet, wenn ein Promise abgelehnt wird, die Ablehnung jedoch nicht behandelt wird. Ein rejectionhandled
-Ereignis wird ausgegeben, wenn ein Promise abgelehnt wird, die Ablehnung jedoch von einem Ablehnungsbehandler erfasst wird.
Syntax
new PromiseRejectionEvent(type, options)
Parameter
type
-
Ein String mit dem Namen des Ereignisses. Es ist case-sensitiv und Browser setzen es auf
rejectionhandled
oderunhandledrejection
. options
-
Ein Objekt, das zusätzlich zu den in
Event()
definierten Eigenschaften die folgenden Eigenschaften haben kann:promise
-
Das abgelehnte
Promise
. reason
-
Jeder Wert oder ein
Object
, der den Grund für die Ablehnung des Promises darstellt. Dies kann alles sein, von einem numerischen Fehlercode über eine Fehlerzeichenkette bis hin zu einem Objekt, das detaillierte Informationen über die Situation enthält, die zum Ablehnen des Promises geführt hat.
Rückgabewert
Ein neues PromiseRejectionEvent
-Objekt, konfiguriert gemäß den durch die Parameter spezifizierten Einstellungen.
Beispiele
Dieses Beispiel erstellt ein neues unhandledrejection
-Ereignis für das Promise myPromise
, wobei der Grund der String "My house is on fire" ist. Der reason
könnte genauso gut eine Zahl oder sogar ein Objekt mit detaillierten Informationen wie der Hausadresse, der Ernsthaftigkeit des Brandes und der Telefonnummer eines Notfallkontakts sein, der benachrichtigt werden sollte.
let myRejectionEvent = new PromiseRejectionEvent("unhandledrejection", {
promise: myPromise,
reason: "My house is on fire",
});
Spezifikationen
Specification |
---|
HTML Standard # unhandled-promise-rejections:dom-event-constructor |
Browser-Kompatibilität
BCD tables only load in the browser