You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在fetch请求耗时超1000ms时执行提示等操作?

检测Fetch请求耗时并处理超时情况

当然可以实现这个需求,核心思路是用定时器设置1000ms的超时阈值,请求完成后立即清除定时器;如果定时器没被清除,就说明请求耗时超过了阈值,执行警告操作。

修改后的代码如下:

// 设置超时定时器,1000ms后触发警告
const timeoutTimer = setTimeout(() => {
  alert("Attention request takes more time than excepted");
}, 1000);

fetch(url, {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(array),
})
  .then((response) => {
    return response.json();
  })
  .then((data) => {
    console.log(data);
  })
  .catch((error) => {
    // 处理请求错误,比如网络失败等情况
    console.error("请求出错:", error);
  })
  .finally(() => {
    // 无论请求成功还是失败,完成后都清除定时器
    clearTimeout(timeoutTimer);
  });

关键逻辑说明:

  • setTimeout 创建一个1000ms后执行的定时器,触发警告弹窗
  • finally 回调会在请求完成(成功或失败)后执行,用来清除定时器,避免请求完成后还弹出警告
  • 保留原有的then处理响应和数据的逻辑,新增catch处理请求异常(可选,但建议加上)

内容的提问来源于stack exchange,提问作者user16365685

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 10:09:52