注册账号登录
晚起是病,得治
一切改变来自行动
关注

GraphQL解析器的疑惑

app\graphql\resolvers\posts.js中第32行:

  // select

  schema.fieldNodes[0].selectionSet.selections.map(item=>select[item.name.value] = 1)

这里只返回了6个字段。


这段代码是什么作用呢,为什么只返回了6个字段呢?


查了下:

https://www.jianshu.com/p/adf745df1d4d


但是仍然不太明白。望解答

2条评论

schema.fieldNodes[0].selectionSet.selections.map((item:any)=>select[item.name.value] = 1);

这里是获取graphql请求中,需要返回的字段,用于判断如果包含某个字段的话,需要查询数据,没有则可以跳过。


例如:

https://github.com/54sword/api.xiaoduyu.com/blob/master/src/graphql/models/posts/resolvers.ts#L95

如果请求需要返回 topic_id,则执行查询,没有则不查询。

8月14日1 人赞
回复

原来如此,谢谢👍

回复
晚起是病,得治
一切改变来自行动
关注私信
1
关注
4
粉丝
31
帖子