Window : évènement rejectionhandled

L'évènement rejectionhandled est envoyé à la portée globale du script (il s'agit généralement de window, mais ça peut aussi être Worker) lorsqu'une promesse rompue est gérée tardivement, c'est-à-dire lorsqu'un gestionnaire est attaché à la promesse après que celle-ci a échoué en entraînant un évènement unhandledrejection.

Cet évènement peut être utilisé pour le débogage et pour la résilience des applications en général. On pourra l'utiliser avec l'évènement unhandledrejection qui est émis lorsqu'une promesse est rompue et qu'elle n'a pas de gestionnaire d'échec à ce moment.

Syntaxe

On pourra utiliser le nom de l'évènement dans des méthodes comme addEventListener(), ou utiliser une propriété qui est un gestionnaire d'évènement.

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

Type d'évènement

Propriétés de l'évènement

PromiseRejectionEvent.promise Lecture seule

La promesse JavaScript qui a été rompue.

PromiseRejectionEvent.reason Lecture seule

Une valeur ou un objet qui indique la raison de l'échec de la promesse, comme celui qui serait passé à Promise.reject().

Alias pour les gestionnaires d'évènement

En plus de l'interface Window, la propriété onrejectionhandled pour gérer l'évènement est disponible sur les cibles suivantes :

Exemple

L'évènement rejectionhandled peut être utilisé afin de journaliser les promesses rompues dans la console, ainsi que les raisons de leur échec :

js
window.addEventListener(
  "rejectionhandled",
  (event) => {
    console.log(`Promesse rompue - raison : ${event.reason}`);
  },
  false,
);

Spécifications

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

Compatibilité des navigateurs

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
rejectionhandled event

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

Voir aussi