@@ -69,11 +69,11 @@ Query: {
69
69
}
70
70
```
71
71
72
- 这个例子使用了 JavaScript 语言,但 GraphQL 服务端应用可以被 [ 多种语言实现] ( https://github.com/whisperfairy/graphql-china.github.io/blob/zh-cn/code ) . 无论哪种语言,解析器函数都接受3个参数
72
+ 这个例子使用了 JavaScript 语言,但 GraphQL 服务端应用可以被 [ 多种语言实现] ( https://github.com/whisperfairy/graphql-china.github.io/blob/zh-cn/code ) 。 无论哪种语言,解析器函数都接受 3 个参数
73
73
74
74
- ` obj ` 上一级对象,如果字段属于根节点查询类型通常不会被使用。
75
- - ` args ` 可以提供在 GraphQL 查询中传入的参数
76
- - ` context ` 会被提供了所有解析器,并且持有重要的上下文信息比如当前登入的用户或者数据库访问对象
75
+ - ` args ` 可以提供在 GraphQL 查询中传入的参数。
76
+ - ` context ` 会被提供了所有解析器,并且持有重要的上下文信息比如当前登入的用户或者数据库访问对象。
77
77
78
78
## 异步解析器函数
79
79
@@ -105,13 +105,13 @@ Human: {
105
105
106
106
GraphQL 服务端应用的业务取决于类型系统的结构。在 ` human ` 对象返回值之前,GraphQL 会根据预设好的类型系统与对应的解析器函数决定如何以及返回什么样的Human字段。
107
107
108
- 在这个例子中,对 name 字段的处理非常的清晰, name 字段对应的解析器函数调用了在上层回调函数生成的 ` new Human ` 对象在这个案例中,我们设计Human对象会拥有一个 ` name ` 属性可以让我们从 obj 对象中直接读取。
108
+ 在这个例子中,对 name 字段的处理非常的清晰, name 字段对应的解析器函数调用了在上层回调函数生成的 ` new Human ` 对象在这个案例中,我们设计 Human 对象会拥有一个 ` name ` 属性可以让我们从 obj 对象中直接读取。
109
109
110
110
事实上在返回的字段可以直接从对象中获得的时候,大部分 GraphQL 库可以让我们省略定义的步骤,当然这是当我们请求的字段可以直接从上层返回对象中取得并返回的情况。
111
111
112
112
## 标量强制
113
113
114
- 当 ` name ` 字段被处理后,` appearsIn ` 和 ` starships ` 字段可以被同步执行, ` appearsIn ` 字段
114
+ 当 ` name ` 字段被处理后,` appearsIn ` 和 ` starships ` 字段可以被同步执行, ` appearsIn ` 字段也可以有一个简单的解析器,但是让我们仔细看看。
115
115
116
116
```
117
117
Human: {
@@ -123,11 +123,11 @@ Human: {
123
123
124
124
请注意,我们的类型系统声明 ` appearsIn ` 字段将返回具有已知值的枚举值,但是此函数返回数字!实际上,如果我们查看结果,我们将看到正在返回适当的枚举值。这是怎么回事?
125
125
126
- 这是标量强制的一个例子。类型系统知道预期的内容,并将将解析器函数返回的值转换为维护 API 合同的内容。在这种情况下,可能在我们的服务器上定义了一个枚举类型,但解析器在内部使用 4, 5 和 6 的整数类型,但在 GraphQL 类型系统中将它们表示为枚举值,如果类型不匹配将返回 null,并提示错误。
126
+ 这是标量强制的一个例子。类型系统知道预期的内容,并将将解析器函数返回的值转换为维护 API 合同的内容。在这种情况下,可能在我们的服务器上定义了一个枚举类型,但解析器在内部使用 4、 5 和 6 的整数类型,但在 GraphQL 类型系统中将它们表示为枚举值。如果发生类型不匹配的情况,类型不匹配的部分将返回 null,并提示错误。
127
127
128
128
## 列表解析器
129
129
130
- 我们已经看到一个字段返回上面的` appearsIn ` 字段的事物列表时会发生什么。它返回了枚举值的列表,因为这是系统期望的类型,列表中的每个项目被强制为适当的枚举值。让我们看下` startships ` 被解析的时候会发生什么?
130
+ 我们已经看到一个字段返回上面的 ` appearsIn ` 字段的事物列表时会发生什么。它返回了枚举值的列表,因为这是系统期望的类型,列表中的每个项目被强制为适当的枚举值。让我们看下` startships ` 被解析的时候会发生什么?
131
131
132
132
```
133
133
Human: {
@@ -143,7 +143,7 @@ Human: {
143
143
144
144
解析器函数在这个字段中返回了一个 Promise 对象,它返回一个 Promises 列表。 ` Human ` 对象具有他们正在驾驶的 ` Starships ` 的 ids 列表,但是我们需要通过这些 id 来获得真正的 Starship 对象。
145
145
146
- GraphQL 将在同步执行这些 Promise,当返回一个对象列表,它将继续同步加载每个这些对象的 ` name ` 字段。
146
+ GraphQL 将在同步执行这些 Promise,当执行结束返回一个对象列表后,它将继续同步加载列表中每个对象的 ` name ` 字段。
147
147
148
148
## 产生结果
149
149
0 commit comments