Window: rejectionhandled イベント
rejectionhandled イベントは、拒否された JavaScript の Promise が遅れて処理されるたびに、スクリプトのグローバルスコープ(通常は window ですが、Worker でも同様です)に送信されます。これは、その拒否によって unhandledrejection イベントが発生した後に、そのプロミスにハンドラーが添付された場合です。
これは、デバッグや一般的なアプリケーションの回復力向上のために使用することができます。これは、プロミスが拒否されたが、その時点で拒否に対するハンドラーが存在しない場合に送信される unhandledrejection イベントと組み合わせて使用します。
構文
このイベント名を addEventListener() などのメソッドで使用するか、イベントハンドラープロパティを設定するかしてください。
js
addEventListener("rejectionhandled", (event) => { })
onrejectionhandled = (event) => { }
イベント型
PromiseRejectionEvent です。 Event から継承しています。
イベントプロパティ
PromiseRejectionEvent.promise読取専用-
JavaScript の
Promiseで、拒否されたもの。 PromiseRejectionEvent.reason読取専用-
値または
Objectで、プロミスが拒否された理由を示します。これは、Promise.reject()に渡されたものです。
イベントハンドラーの別名
Window インターフェイスに加えて、イベントハンドラープロパティ onrejectionhandled は以下のターゲットでも利用可能です。
例
rejectionhandled イベントを使用して、拒否されたプロミスを、拒否された理由を添えてコンソールに出力することができます。
js
window.addEventListener("rejectionhandled", (event) => {
console.log(`プロミスが拒否されました。理由: ${event.reason}`);
});
仕様書
| Specification |
|---|
| HTML> # unhandled-promise-rejections> |
| HTML> # handler-window-onrejectionhandled> |