【发布时间】:2018-09-17 19:20:30
【问题描述】:
有件事我觉得应该很简单,但是在网上搜索了很长时间都找不到答案:
我只是尝试使用 graphql 进行突变,然后使用另一个 graphql 查询刷新数据之后,我怎样才能仅在一个 HTTP(graphql) 请求中实现这一点?
尝试失败:
- 我尝试使用 batching 发送包装在一个数组中的两个 graphql 模式,但它是异步的,并且查询会在不需要的突变之前返回。
- 我尝试使用实际不发生任何突变的突变编写相同的查询,并将其放在真正的突变之后,这是可行的,但我不认为这是针对此问题的优化解决方案。
- 另外,我知道 apollo-client(react) 有类似
update(refetchQuery) 之类的东西,但是如果没有任何客户端框架,我怎么能做到这一点?
谢谢:)
相关链接:
【问题讨论】:
-
是否可以修改变异结果,直接获取查询数据,无需额外查询?
-
谢谢,这肯定是一个很好的解决方案。但问题是当我无法决定响应应该是什么样子或者我需要更复杂的数据时。我认为这些情况确实存在,但您的答案确实适用于您的情况。
-
在这种情况下,接口和联合类型可能会有所帮助。你可以在这里阅读它们:graphql.org/learn/schema我没有使用它们的经验,但也许它们可以成为你案例解决方案的一部分。
标签: javascript graphql apollo