问题库 JavaScript / TypeScript how-to

Fetch 如何设置超时时间

快速答案

用 AbortController 创建取消信号,超时后 abort 请求。

js
const controller = new AbortController();
const timer = setTimeout(() => controller.abort(), 5000);
try { await fetch(url, { signal: controller.signal }); }
finally { clearTimeout(timer); }

使用要点

  • 请求代码要区分网络异常、HTTP 非 2xx 和业务错误码。
  • 上传文件时让浏览器自动设置 multipart 边界,下载 Blob 后及时释放对象 URL。

相关内容