AbortController 取消请求
时间: 2024-01-10 18:04:48 浏览: 157
AbortController 是一个用于取消网络请求的 API。它是在 Fetch API 中引入的,并且可以与异步函数、Promise 和 Fetch 请求一起使用。
要使用 AbortController 取消请求,首先需要创建一个 AbortController 对象。然后,在发起请求时,将该 AbortController 对象的 signal 属性传递给请求。如果需要取消请求,可以调用 AbortController 对象的 abort() 方法。
下面是一个使用 AbortController 取消 Fetch 请求的示例代码:
```javascript
const controller = new AbortController();
const signal = controller.signal;
fetch('https://api.example.com/data', { signal })
.then(response => response.json())
.then(data => {
// 处理响应数据
})
.catch(error => {
if (error.name === 'AbortError') {
console.log('请求已被取消');
} else {
console.error('发生错误', error);
}
});
// 取消请求
controller.abort();
```
在上面的示例中,我们首先创建了一个 AbortController 对象,然后将其 signal 属性传递给 fetch() 函数。当需要取消请求时,调用 controller.abort() 方法即可。在 catch() 方法中,我们可以根据 error 的 name 属性来判断请求是否被取消。
这就是使用 AbortController 取消请求的基本步骤。希望能对你有所帮助!如果有更多问题,请继续提问。
阅读全文