Graphql Apollo缓存解析器是否适用于别名?
请回答以下问题:Graphql Apollo缓存解析器是否适用于别名?,graphql,apollo,apollo-client,graphql-js,apollo-cache-inmemory,Graphql,Apollo,Apollo Client,Graphql Js,Apollo Cache Inmemory,请回答以下问题: query Foo(id: ID!) { foo(id: $id) { id bar { id } } } query Bar(id: ID!) { bar(id: $id) { id } } query Qux(id: ID!) { qux: bar(id: $id) { id } } 如您所见,qux是bar的别名 现在执行以下缓存重定向: 导出默认值{ 查询:{ bar:({uu,args,
query Foo(id: ID!) {
foo(id: $id) {
id
bar {
id
}
}
}
query Bar(id: ID!) {
bar(id: $id) {
id
}
}
query Qux(id: ID!) {
qux: bar(id: $id) {
id
}
}
如您所见,qux
是bar
的别名
现在执行以下缓存重定向:
导出默认值{
查询:{
bar:({uu,args,{getCacheKey})=>getCacheKey({uu类型名称:“bar”,id:args.id}),
qux:({uu,args,{getCacheKey})=>getCacheKey({uu类型名称:“Bar”,id:args.id}),
},
};
qux
解析器工作吗?我确信它适用于bar
,因为我以前尝试过,但我无法判断它是否适用于qux
,或者数据加载速度是否很快。FWIW,您可以通过检查浏览器开发工具的“网络”选项卡来验证请求是缓存命中还是未命中。