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.

We'd love to hear more about your role and the company you work for
Please help us by answering a few questions.

只读属性 reason 返回一个使用 JavaScript 值表示的中止原因。

当 signal 没有被中止时,该属性值为 undefined。当使用 AbortController.abort()AbortSignal.abort() 中止 signal 时,可以设置一个指定的值。如果没有在这些方法中明确的设置,则默认是"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
# ref-for-dom-abortsignal-reason①

浏览器兼容性

参见