このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

Window: rejectionhandled イベント

rejectionhandled イベントは、拒否された JavaScript の Promise が遅れて処理されるたびに、スクリプトのグローバルスコープ(通常は window ですが、Worker でも同様です)に送信されます。これは、その拒否によって unhandledrejection イベントが発生した後に、そのプロミスにハンドラーが添付された場合です。

これは、デバッグや一般的なアプリケーションの回復力向上のために使用することができます。これは、プロミスが拒否されたが、その時点で拒否に対するハンドラーが存在しない場合に送信される unhandledrejection イベントと組み合わせて使用します。

構文

このイベント名を addEventListener() などのメソッドで使用するか、イベントハンドラープロパティを設定するかしてください。

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

onrejectionhandled = (event) => { }

イベント型

PromiseRejectionEvent です。 Event から継承しています。

Event PromiseRejectionEvent

イベントプロパティ

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

ブラウザーの互換性

関連情報