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

React Query中如何在mutation成功后等待多个查询失效完成?

React Query Mutation 等待多个查询失效完成的方案

你可以用Promise.all把多个invalidateQueries的调用包裹起来,然后return这个合并后的Promise,这样mutation就会等待所有查询失效操作完成后再标记为完成。

示例代码如下:

onSuccess: () => {     
  return Promise.all([
    queryClient.invalidateQueries([FETCH_USER, userId]),
    queryClient.invalidateQueries([FETCH_USER_BOOKS, userId])
  ]);
}

原理很直接:queryClient.invalidateQueries本身会返回Promise,单个return时mutation会等待该Promise完成;多个操作时,Promise.all会等所有传入的Promise都执行完成后才会resolve,把它return出去,mutation就会等所有失效操作结束后再标记完成。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 23:50:37