如何解决是否可以在 GraphQL 解析器中取消父级?
在优化我的 GraphQL 解析器时,我意识到使用它们的解析器解析所有字段(而不是使用带有一些预填充数据的父解析器)是以最强大的方式利用 DataLoader 的方式。像这样:
export const User = objectType({
name: 'User',definition(t) {
t.nonNull.id('id')
t.string('email',{
resolve(parent,_,ctx) {
// `getUser()` is a function that fetches the DB and then returns Promise<User>
// It's internally using Prisma,which has an internal DataLoader
return getUser(ctx).then(user => user?.email)
}
})
// more fields with similar resolvers...
}
})
但是,通过这样做,当用户不存在时返回 null
用户变得不可能(至少在我看来)。所以问题来了。
- 是否可以在 GraphQL 解析器中取消整个父对象?
- 如果是,如何?
- 如果没有,添加类似
exists
字段的内容是否是解决此问题的最佳解决方案?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。