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

React Query中useQuery的refetchInterval计时起始点疑问

React Query useQuery中refetchInterval的触发时机说明

当你在useQuery里把refetchInterval设置为10秒时,下一次请求的触发时机是以上一次请求完成的时间点为起点,等待10秒后发起。举个例子:如果某次请求耗时2秒完成,那么下一次请求会在本次请求结束后再过10秒才开始,两次请求的开始间隔就是12秒。

React Query设计这个逻辑的核心目的是避免重叠请求——如果改用请求开始时间作为计时起点,当请求耗时超过设置的间隔时长时,就会出现前一个请求还在处理,下一个请求已经发起的情况,这大概率不符合业务需求。

针对你的项目场景(请求耗时可达5-10秒),补充两个关键注意点:

  • 若设置的refetchInterval小于请求耗时(比如设5秒但请求要10秒),下一次请求会在当前请求完成后立刻发起,两次请求的开始间隔等于请求耗时
  • 若设置的间隔大于请求耗时,两次请求的开始间隔则为「请求耗时 + 设置的refetchInterval时长」

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 15:40:53