AbortSignal: abort 事件

Baseline 已广泛支持

此功能已成熟,可跨多种设备和浏览器版本工作。它自 ⁨2018 年 4 月⁩ 起已在所有浏览器中可用。

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

AbortSignalabort 事件会在关联的请求被中止时触发,即使用 AbortController.abort()

语法

在诸如 addEventListener() 之类的方法中使用事件名称,或设置事件处理程序属性。

js
addEventListener("abort", (event) => { })

onabort = (event) => { }

事件类型

一个通用的 Event,没有额外的属性。

示例

在下面的代码片段中,我们创建一个新的 AbortController 对象,并获取其 AbortSignal(可通过 signal 属性访问)。之后,我们通过事件处理程序属性检查信号是否已被中止,

您可以使用 addEventListener 方法来检测 abort 事件。

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

signal.addEventListener("abort", () => {
  console.log("Request aborted");
});

或者使用 onabort 事件处理程序属性。

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

signal.onabort = () => {
  console.log("Request aborted");
};

规范

规范
DOM
# eventdef-abortsignal-abort
DOM
# abortsignal-onabort

浏览器兼容性