AbortController
时间: 2024-08-14 12:05:54 浏览: 77
`AbortController` 是 JavaScript 中的一个内置类,它允许您在异步操作(如网络请求或长时间运行的任务)中取消操作。当一个 `AbortController` 被创建时,它会返回一个 `AbortSignal` 对象,你可以通过这个信号来触发中断。
以下是如何使用 `AbortController` 的简单示例:
```javascript
// 创建AbortController实例
const controller = new AbortController();
// 获取AbortSignal对象
const signal = controller.signal;
// 启动一个可能会被取消的操作
fetch('https://api.example.com/data', { signal })
.then(response => response.json())
.catch(error => {
// 检查错误是否来自AbortError
if (error.name === 'AbortError') {
console.log('Fetch was cancelled.');
} else {
throw error;
}
});
// 如果需要,可以调用abort方法手动取消操作
controller.abort();
```
在这个例子中,如果在 `fetch` 请求期间调用了 `controller.abort()`,`fetch` 会立即抛出 `AbortError`,从而中断正在进行的操作。
阅读全文