Skip to content

Fetch API

XHR 更强大、更灵活的替代品,浏览器、Node 17.5+ 原生支持。

fetch()

Request

Response

AbortController

中止 fetch 请求。

js
let controller = undefined;

function fetchData() {
  // 创建 AbortController 实例
  controller = new AbortController();
  // signal 传入 fetch 的 options 参数
  const { signal } = controller;
  fetch('xxx', { signal }).catch(console.error);
}

setTimeout(() => {
  if (controller) {
    // 调用 abort 方法中止 fetch 请求
    // reject 一个 DOMException,名为 AbortError
    controller.abort();
  }
}, 1000);

fetchData();