WorkerGlobalScope: rejectionhandled イベント

rejectionhandled イベントは、スクリプトのグローバルスコープ(通常は WorkerGlobalScope)に送られるものであり、拒否された Promise が遅れて処理されるたび、すなわち、拒否されたプロミスが unhandledrejection イベントが発生した後にハンドラーが割り当てられた場合に送られます。

これは、プロミスが拒否され、その時刻に拒否ハンドラーがない場合に送られる unhandledrejection イベントと一緒に、デバッグや一般的なアプリケーションの回復のために使用することができます。

構文

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

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

イベント型

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

Event PromiseRejectionEvent

イベントプロパティ

PromiseRejectionEvent.promise 読取専用

拒否されたプロミス (Promise) です。

PromiseRejectionEvent.reason 読取専用

プロミスが拒否された理由を示す値または Object で、Promise.reject() に渡されたものです。

rejectionhandled イベントを使用することで、拒否されたプロミスを、拒否された理由とともにコンソールにログ出力することができます。

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

仕様書

Specification
HTML
# handler-workerglobalscope-onrejectionhandled

ブラウザーの互換性

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

Legend

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

Full support
Full support

関連情報