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

如何在await axios.get请求中添加setTimeout实现调用延迟

实现方案

你可以先封装一个Promise版本的延迟工具函数,在post请求完成后、发起get请求前等待指定时长即可,代码修改如下:

// 通用延迟工具函数,参数为延迟毫秒数
const delay = (ms) => new Promise(resolve => setTimeout(resolve, ms))

修改后的业务代码:

export function functionName() {
  return useMutation(
    async filter => {
      const {data} = await axios.post<Core.Paths.CreateResponse.RequestBody, AxiosResponse<string>>(
        "/path/api/response", filter
      );
      // 此处添加延迟,示例为延迟2000ms后再发起get请求
      await delay(2000);
      const {data: blob} = await axios.get(`/path/api/document/${data}`, {responseType: "blob"});
      return URL.createObjectURL(blob);
    }
    // 注:原代码此处多了一个多余的闭合大括号,已修正删除
  );
}

补充说明:

  • 如果你需要的是延迟处理get请求的返回结果,把await delay(2000)放到axios.get请求的下一行即可
  • 延迟时长可根据需求自定义,替换2000为你需要的毫秒数即可
  • 不想单独封装延迟函数的话,可直接在需要延迟的位置写内联代码:await new Promise(resolve => setTimeout(resolve, 2000))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 23:45:00