React Query:在获得某些数据之前,我可以使用 React Query 进行轮询吗?
React Query: Can I use React Query for polling until I get certain data?
我想实现长轮询,直到我从 API 中获得某些数据。
例如,假设我们有一个 API 表示 returns 进程的进度。
我想调用它 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)
}
}
}
)
我想实现长轮询,直到我从 API 中获得某些数据。
例如,假设我们有一个 API 表示 returns 进程的进度。 我想调用它 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)
}
}
}
)