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 (en-US).

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 (en-US) Lecture seule

La promesse JavaScript qui a été rompue.

PromiseRejectionEvent.reason (en-US) 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 Standard
# unhandled-promise-rejections
HTML Standard
# handler-window-onrejectionhandled

Compatibilité des navigateurs

BCD tables only load in the browser

Voir aussi