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
相关产品推荐
相关产品推荐

