我正在尝试从我的apollo本地缓存(InMemoryCache)中查询所有实体,但没有成功。
以下是我的进展方式。
query EntityList($limit: Int!, $offset: Int!) {
entities(
limit: $limit,
offset: $offset
) {
__typename
EntityId
}
}
有了这个查询:没问题。 但后来,我想查询缓存中的所有实体,没有任何参数。
query LocalEntityList {
entities {
EntityId
}
}
这个简单的代码会触发错误
Can't find field entities on object (ROOT_QUERY)....
从documentation site我知道我需要在cacheResolvers
对象上使用InMemoryCache
个选项。
但是没有传递id作为参数的例子。
答案 0 :(得分:0)
我认为你想要的是一个@connection
指令。这将允许您在没有limit / offset参数的情况下缓存实体查询。
query EntityList($limit: Int!, $offset: Int!) {
entities (
limit: $limit,
offset: $offset
) @connection(key: "EntityList_entities") {
__typename
EntityId
}
}
使用相同的连接进行连续调用应返回该密钥的所有实体。
query LocalEntityList {
entities @connection(key: "EntityList_entities") {
EntityId
}
}