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

js
new PromiseRejectionEvent(type, options)

Parameter

type

Ein String mit dem Namen des Ereignisses. Es ist case-sensitiv und Browser setzen es auf rejectionhandled oder unhandledrejection.

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.

js
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

Siehe auch