我们可以使用 Query 和 Mutation 向服务器发出一些请求。在这些查询中,我们可以传递一些参数,并且在这两种情况下我们都会从服务器获得一些结果。唯一的一个强制性区别是我们可以从我们的 props 中调用突变,例如“this.props.mutation”,但它看起来像一个语法糖,因为我们可以将我们的 HOC 包装在“withApollo”中,我们将收到“query”道具中的方法也是如此。那么这两种请求的主要区别是什么?
问问题
868 次
1 回答
6
严格来说没有区别。
...从技术上讲,可以实现任何查询以导致数据写入。但是,建立一个约定是有用的,即任何导致写入的操作都应该通过突变显式发送。
但是,参考实现确实强制执行以下操作。
虽然查询字段是并行执行的,但突变字段是一个接一个地连续运行。
这意味着如果我们在一个请求中发送两个 incrementCredits 突变,第一个保证在第二个开始之前完成,确保我们不会与自己陷入竞争状态。
这两个报价都可以从下面的链接中找到。
http://graphql.org/learn/queries/#mutations
http://graphql.org/learn/queries/#multiple-fields-in-mutations
于 2018-01-14T13:41:44.490 回答