PromiseRejectionEvent.promise

PromiseRejectionEvent インターフェイスの promise は読み取り専用プロパティで、拒否された JavaScript の Promise を表します。プロミスが拒否された理由は、イベントの PromiseRejectionEvent.reason プロパティを検査することでわかります。

拒否されて、処理されていない JavaScript の Promise です。

この例では処理されておらず、 reasoncode 項目が "Module not ready" であるオブジェクトであるプロミスを待ち受けし、正しい実行に失敗するタスクを再実行する何もしないコールバックをセットアップします。

event.preventDefault() はプロミスが処理されたことを示すために呼ばれます。

js
window.onunhandledrejection = (event) => {
  if (event.reason?.code === "Module not ready") {
    requestIdleCallback((deadline) => {
      loadModule(event.reason.moduleName).then(performStartup);
    });
    event.preventDefault();
  }
};

仕様書

Specification
HTML Standard
# dom-promiserejectionevent-promise

ブラウザーの互換性

BCD tables only load in the browser

関連情報