AbortSignal: reason プロパティ

注: この機能は Web Worker 内で利用可能です。

reason は読み取り専用プロパティで、中止の理由を示す JavaScript の値を返します。

このプロパティは、シグナルが中止されていないときは undefined です。 シグナルが中止されたときに、AbortController.abort() または AbortSignal.abort() によって特定の値に設定することができます。 これらのメソッドで明示的に設定されていない場合、既定では "AbortError" DOMException になります。

中止の理由を示す JavaScript の値で、中止されない場合は undefined となります。

以下のスニペットでは、新しい AbortController オブジェクトを作成し、その AbortSignalsignal プロパティを使用して利用できます)を取得します。 その後、aborted プロパティを使用して、シグナルが中止されたかどうかを調べ、中止の状況と理由をコンソールにログ出力しています。

js
const controller = new AbortController();
const signal = controller.signal;

// …

if (signal.aborted) {
  if (signal.reason) {
    console.log(`Request aborted with reason: ${signal.reason}`);
  } else {
    console.log("Request aborted but no reason was given.");
  }
} else {
  console.log("Request not aborted");
}

仕様書

Specification
DOM Standard
# ref-for-dom-abortsignal-reason①

ブラウザーの互換性

BCD tables only load in the browser

関連情報