【发布时间】:2021-09-10 17:49:47
【问题描述】:
我的意思是,真的。有多少?
- 1?改变灯泡()
- 还是 2? removeTheLightBulb() + addNewLightBulb()
【问题讨论】:
-
您可以在一个请求中运行所有内容 - 保留订单
我的意思是,真的。有多少?
【问题讨论】:
这完全取决于您是否将此操作视为原子操作。虽然 GraphQL 规范对此没有任何具体限制,但有一点很清楚:如果您不想将“无灯泡”作为有效状态,您应该只使用一种突变 - 在您的情况下,changeLightBulb()。
还要注意,在您的突变集中同时拥有addLightBulb、removeLightBulb 和changeLightBulb 是完全可以的。虽然您可能会尝试尽可能多地重用特定于域的 types(同样,重用泛型片段有一些注意事项,在 this article 中已经充分介绍),重用 操作 一般而言,仅仅为了最小化代码表面并不是一个好主意。
【讨论】: