WorkerGlobalScope: rejectionhandled イベント

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

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

ブラウザーの互換性

関連情報