Window: rejectionhandled Ereignis

Das rejectionhandled Ereignis wird an den globalen Geltungsbereich des Skripts gesendet (normalerweise das window, aber auch der Worker), wenn ein abgelehntes JavaScript-Promise verspätet behandelt wird, d.h. wenn ein Handler an das Promise angehängt wird, nachdem seine Ablehnung ein unhandledrejection Ereignis verursacht hat.

Dies kann zum Debuggen und für die allgemeine Anwendungsrobustheit verwendet werden, zusammen mit dem unhandledrejection Ereignis, das gesendet wird, wenn ein Promise abgelehnt wird, aber zum Zeitpunkt der Ablehnung kein Handler vorhanden ist.

Syntax

Verwenden Sie den Ereignisnamen in Methoden wie addEventListener() oder setzen Sie eine Ereignis-Handler-Eigenschaft.

js
addEventListener("rejectionhandled", (event) => {});
onrejectionhandled = (event) => {};

Ereignistyp

Ereigniseigenschaften

PromiseRejectionEvent.promise Nur lesbar

Das abgelehnte JavaScript-Promise.

PromiseRejectionEvent.reason Nur lesbar

Ein Wert oder ein Object, der angibt, warum das Promise abgelehnt wurde, wie es an Promise.reject() übergeben wurde.

Alias für Ereignis-Handler

Zusätzlich zur Window-Schnittstelle ist die Ereignis-Handler-Eigenschaft onrejectionhandled auch auf den folgenden Zielen verfügbar:

Beispiel

Sie können das rejectionhandled Ereignis verwenden, um Versprechen, die abgelehnt werden, zusammen mit den Gründen für ihre Ablehnung im Konsolenprotokoll zu protokollieren:

js
window.addEventListener(
  "rejectionhandled",
  (event) => {
    console.log(`Promise rejected; reason: ${event.reason}`);
  },
  false,
);

Spezifikationen

Specification
HTML Standard
# unhandled-promise-rejections
HTML Standard
# handler-window-onrejectionhandled

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch