AbortSignal: reason プロパティ
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2019.
メモ: この機能はウェブワーカー内で利用可能です。
reason
は読み取り専用プロパティで、中止の理由を示す JavaScript の値を返します。
このプロパティは、シグナルが中止されていないときは undefined
です。
シグナルが中止されたときに、AbortController.abort()
または AbortSignal.abort()
によって特定の値に設定することができます。
これらのメソッドで明示的に設定されていない場合、既定では "AbortError" DOMException
になります。
値
中止の理由を示す JavaScript の値で、中止されない場合は undefined
となります。
例
以下のスニペットでは、新しい AbortController
オブジェクトを作成し、その AbortSignal
(signal
プロパティを使用して利用できます)を取得します。
その後、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