Apollo Client + Apollo Server 如何处理同一查询中重复的相关节点?
假设我有这个查询:
query {
parents {
id
name
child {
id
name
secondChild {
id
name
}
}
}
}
响应有重复的相关节点(ID 为 sc1 的 secondaryChild 节点)。该节点的数据是否通过网络发送了两次?或者 Apollo 足够聪明,只发送一次吗?
res = [
{
id: p1
name: "Parent one"
child[
{
id: c1
name: "Child one"
secondChild: { # This is duplicated below
id: sc1
name: "Second Child one"
}
},
{
id: c2
name: "Child two"
secondChild: { # This is duplicated above
id: sc1
name: "Second Child one"
}
}
]
}]
这个例子非常简单,但想象一下 sc1 的有效负载更大并且重复了很多次。
最佳答案
我按照 Tarun 的建议检查了对我的 apollo 服务器的网络响应。看起来不行,Apollo 在获取重复记录时不会优化您的网络调用。
虽然这将是一个很好的实现功能。也许你可以在他们的 github 中创建一个问题并提出这个建议,看看他们是否将其作为他们的开发管道。或者您可以尝试自己实现并创建拉取请求以与我们其他人共享。 :)
关于reactjs - Apollo Client + Server 如何处理同一查询中重复的相关节点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50361564/