WorkerGlobalScope: rejectionhandled イベント
Baseline
広く利用可能
この機能は広く実装されており、多くのバージョンの端末やブラウザーで動作します。2020年7月以降、すべてのブラウザーで利用可能です。
rejectionhandled イベントは、スクリプトのグローバルスコープ(通常は WorkerGlobalScope)に送られるものであり、拒否された Promise が遅れて処理されるたび、すなわち、拒否されたプロミスが unhandledrejection イベントが発生した後にハンドラーが割り当てられた場合に送られます。
これは、プロミスが拒否され、その時刻に拒否ハンドラーがない場合に送られる unhandledrejection イベントと一緒に、デバッグや一般的なアプリケーションの回復のために使用することができます。
構文
このイベント名を addEventListener() などのメソッドで使用するか、イベントハンドラープロパティを設定するかしてください。
js
self.addEventListener("rejectionhandled", (event) => {});
self.onrejectionhandled = (event) => {};
イベント型
PromiseRejectionEvent です。 Event から継承しています。
イベントプロパティ
PromiseRejectionEvent.promise読取専用-
拒否されたプロミス (
Promise) です。 PromiseRejectionEvent.reason読取専用-
プロミスが拒否された理由を示す値または
Objectで、Promise.reject()に渡されたものです。
例
rejectionhandled イベントを使用することで、拒否されたプロミスを、拒否された理由とともにコンソールにログ出力することができます。
js
self.addEventListener("rejectionhandled", (event) => {
console.log(`Promise rejected; reason: ${event.reason}`);
});
仕様書
| 仕様書 |
|---|
| HTML> # handler-workerglobalscope-onrejectionhandled> |