Movatterモバイル変換


[0]ホーム

URL:


  1. 開発者向けのウェブ技術
  2. Web API
  3. WorkerGlobalScope
  4. unhandledrejection

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

View in EnglishAlways switch to English

WorkerGlobalScope: unhandledrejection イベント

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2020年7月.

unhandledrejection イベントは、スクリプトのグローバルスコープ(通常はWorkerGlobalScope)に送られるものであり、拒否ハンドラーのないPromise が拒否されたときに発行されます。

これはデバッグや、予期せぬ状況でのフォールバックエラー処理を提供するのに有益です。

構文

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

js
self.addEventListener("unhandledrejection", (event) => {});self.onunhandledrejection = (event) => {};

イベント型

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

Event PromiseRejectionEvent

イベントプロパティ

PromiseRejectionEvent.promise読取専用

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

PromiseRejectionEvent.reason読取専用

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

基本的なエラーログ出力

この例は、未処理のプロミスの拒否に関する情報をコンソールにログ出力します。

js
self.addEventListener("unhandledrejection", (event) => {  console.warn(`UNHANDLED PROMISE REJECTION: ${event.reason}`);});

また、onunhandledrejection イベントハンドラープロパティを使用して、イベントリスナーを設定することができます。

js
self.onunhandledrejection = (event) => {  console.warn(`UNHANDLED PROMISE REJECTION: ${event.reason}`);};

既定の処理を防止

多くの環境(Node.js など)では、既定では処理されなかったプロミスの拒否をコンソールに報告します。unhandledrejection イベントのハンドラーを追加することで、そこでイベントをキャンセルするpreventDefault() を呼び出すことで、ランタイムのログ出力コードで処理されるのを防ぐことができます。これはunhandledrejection がキャンセル可能であるため、うまく動作します。

js
self.addEventListener("unhandledrejection", (event) => {  // code for handling the unhandled rejection  // …  // Prevent the default handling (such as outputting the  // error to the console)  event.preventDefault();});

仕様書

Specification
HTML
# handler-workerglobalscope-onunhandledrejection

ブラウザーの互換性

関連情報

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2026 Movatter.jp