我一直在四处寻找这个问题的答案,但一直没有任何运气. 我是RTK Query的新手,但到目前为止还不错.
我有两个查询,我希望根据第一个查询的缓存响应来转换第二个查询的响应.
目前,这两个查询是同时运行的,因为到目前为止它们彼此独立,但我需要更改它,以便在运行第二个查询之前等待第一个查询.在这个应用程序中,这不是问题,因为这两个查询是应用程序初始化的一部分.数据在会话期间不会发生变化.
第一个查询从数据库中获取一个非常大的JSON对象,该对象基本上只是一个对象array.第二个查询从数据库中获取一些配置,但需要从第一个查询中读取数据以转换和增强一些配置数据.我没有访问后端,所以我不能在服务器上的工作之前提取.
以下是我想要做的事情:
const myApi = createApi({
reducerPath: 'myApi',
baseQuery: fetchBaseQuery({ baseUrl: '/' }),
endpoints: (builder) => ({
getFirst: builder.query({
query: () => '/getFirst',
}),
getSecond: builder.query({
query: () => '/getSecond',
transformResponse: (response) => {
...
// Transform data using cached data from 'getFirst' query
...
return { ... };
},
}),
}),
});
这是可能的吗,还是我用错误的方式对待它?如有任何可能有用的额外信息,请随时询问.