Request: signal プロパティ
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.
signal
は Request
インターフェイスの読み取り専用プロパティで、このリクエストに関連付けられた AbortSignal
を返します。
値
AbortSignal
オブジェクトです。
例
js
// 新しい中止コントローラーを作成
const controller = new AbortController();
// このコントローラーの AbortSignal オブジェクトを使用してリクエストを作成
const req = new Request("/", { signal: controller.signal });
// 中止された場合にメッセージをログ出力するイベントハンドラーを追加
req.signal.addEventListener("abort", () => {
console.log("abort");
});
// 中止された場合は、AbortSignalの理由をログ出力
fetch(req).catch(() => {
if (signal.aborted) {
if (signal.reason) {
console.log(`リクエストは ${signal.reason} が原因で中止されました。`);
} else {
console.log("リクエストは中止されましたが、理由は示されませんでした。");
}
} else {
console.log("リクエストは中止されませんでしたが、異常終了しました。");
}
});
// 実際にリクエストを中止
controller.abort();
仕様書
Specification |
---|
Fetch Standard # ref-for-dom-request-signal② |
ブラウザーの互換性
BCD tables only load in the browser