AbortSignal: reason 屬性

Baseline 已廣泛支援

此特性已經十分成熟,可在許多裝置和瀏覽器版本上使用。自 2022 年 3 月起,它已在各瀏覽器中可用。

注意:此功能在 Web Workers 中可用。

只讀的 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");
}

規範

規範
DOM
# ref-for-dom-abortsignal-reason①

瀏覽器相容性

另見