在Apollo Server中调用另一个解析器的最佳方法是什么?

洛伦

假设您createdAt要从updatedAt解析器调用解析器。例如,这不起作用:

{
  Review: {
    createdAt: review => review._id.getTimestamp(),
    updatedAt: review => review.updatedAt || this.createdAt(review)
  },
}

我意识到我可以创建一个可以reviewCreatedAt()从两者调用函数,但是我正在寻找一种调用createdAt解析器的方法。

丹尼尔·雷登(Daniel Rearden)

没有标准的方法可以调用另一个解析器。使用this,即使你不使用箭头功能,因为当旋转变压器是由底层代码称为上下文丢失将无法正常工作。您可以执行以下操作:

const resolvers = {
  Review: {
    createdAt: review => review._id.getTimestamp(),
    updatedAt: review => review.updatedAt || resolvers.Review.createdAt(review)
  },
}

但是,如果您使用的是数据模型,则可能会发现,将这种逻辑提升到数据模型中比较容易(使用计算字段或虚拟字段)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在 Apollo GraphQL 解析器的一个函数中解析 2 种不同的方法?

React Apollo中本地解析器的执行顺序是什么?

如何在一个类型中添加多个解析器(Apollo服务器)

Apollo 解析器链返回 null

无法导入 Apollo 解析器

嵌套对象的Apollo Graphql解析器

Apollo 解析器调用了两次?

使用Apollo React客户端,为什么不总是需要一个解析器来解析@client GraphQL查询?

Apollo updateQueries未调用?

Apollo Federation网关和另一个服务器实现

如何在 Apollo 解析器 (Meteor/Apollo/Graphql) 中返回聚合查询?

合并Apollo Server的GraphQL解析器不能与Object.assign()一起使用

如何使用apollo-server-epxress从graphql解析器中更新会话

如何在Apollo GraphQL Server中添加字段解析器

如何在GraphQL解析器中访问请求对象(使用Apollo-Server-Express)

Apollo Server 中的嵌套查询

Apollo服务器+ React Apollo pubSub不显示数据

如何禁用apollo-link或apollo-client中的缓存?

从Vuex商店使用NUXT中的vue-apollo访问this。$ apollo?

如何使用Apollo / graphql实现节点查询解析器

apollo-link-state:如何编写查询解析器?

Apollo:订阅与查询解析器之间的区别?

Apollo GraphQL:扩展而不是覆盖默认解析器行为

操作 apollo 中的 resolveinfo 对象

NextJS的getServerSideProps中的Apollo查询?

optimisticResponse与Apollo Client中的更新?

在Apollo Client中退订订阅

在 apollo-server 中组合多个 rest 调用以填充 1 个 graphQL 类型的最佳实践

在另一个内部调用一个异步函数的最佳方法是什么?