能否在RTK Query的queryFn中调度另一个查询并等待其完成后再继续?
在RTK Query的queryFn中等待其他查询完成的优化需求
当前已知可行但繁琐的实现方式
我知道可以通过以下方式实现目标,但在复杂场景下代码会显得混乱:
queryFn: async ( { emailAddress, password }, { dispatch }, _, baseQuery, ) => { await cognito.login(emailAddress, password) const { data, error } = await baseQuery({ url: `me`, method: 'GET', }) await dispatch( userService.util.updateQueryData('getUser', {}, (draft) => { draft = data }), ) return { data, error } },
期望的优化实现方式
希望通过以下方式实现:无需使用updateQueryData,避免重复编写端点URL,同时可借助其他查询的错误来判断整体流程是否正常:
queryFn: async ( { emailAddress, password }, { dispatch }, ) => { await cognito.login(emailAddress, password) const {data,error} = await dispatch(userService.endpoints.getUser.initiate({ }, { forceRefetch })) // 这里需要支持await },
内容的提问来源于stack exchange,提问作者Kyle Johnson
相关产品推荐
相关产品推荐

