reactjs - React Query:在获得某些数据之前,我可以使用 React Query 进行轮询吗?
问题描述
我想实现长轮询,直到我从 API 获得某些数据。
例如,假设我们有一个返回进程进度的 API。我想调用那个 API,直到过程完成。
是否可行,如果可行,我该如何实施?
解决方案
我们为该用例准备了PR ,一旦我们发布,您可以:
const query = useQuery(
key,
fn,
{
refetchInterval: (data) => !data || data.progress < 100 ? 5000 : undefined
}
)
api 尚未最终确定,实际上我会很感激一些输入 :)
在此之前,您需要使用本地状态处理此问题:
const [refetchInterval, setRefetchInterval] = React.useState(5000)
const query = useQuery(
key,
fn,
{
refetchInterval,
onSuccess: (data) => {
if (data.progress === 100) {
setRefetchInterval(false)
}
}
}
)
推荐阅读
- javascript - 如何使用 Node.js 和 Express 从 URL 中获取价值?
- javascript - 在 inputpicker 中手动设置一个值
- amazon-web-services - ALB/Lambda 和目标组的配置问题
- distributed-system - 当每次写入都不需要 fsync 时,raft 如何实现强一致性
- string - 如何从一行中删除某些单词,但将其余部分放入带有批处理的字符串/变量中?
- python - Matplotlib,为学术论文绘制灰色图
- c++ - 无法在 C++ 中删除动态对象
- discord.js - 收集结束时的消息
- docker - Docker Registry 存储未更新
- sql - 如何在表中找到没有反向顺序对的对?