在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中的常见用法。