在JavaScript中中止fetch请求
Fetch API是现在在JavaScript中发送异步请求的事实标准方法。这在一定程度上是因为fetch()
方法接受了许多有用的选项。其中之一是signal
选项,它可以用于中止请求。要为此选项创建有效的值,可以在创建AbortController
实例后使用AbortController.signal
。然后,您可以使用AbortController.abort()
在任何时候取消请求。
// 创建AbortController
const controller = new AbortController();
const { signal } = controller;
// 执行请求
fetch('https://my.site.com/data', { signal }).then(res => console.log(res));
// 中止请求
controller.abort();
这在请求花费太长时间或不再需要响应的情况下特别有用。您可以在useFetch hook中看到这种情况在React中的常见用法。