gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 21:02:27 24 4
gpt4 key购买 nike

假设您想调用 createdAt来自 updatedAt 的解析器解析器。例如,这不起作用:

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

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

最佳答案

没有标准的方法来调用另一个解析器。使用 this即使您不使用箭头函数也不会工作,因为当底层代码调用解析器时上下文会丢失。你可以这样做:

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

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

关于graphql - 在 Apollo Server 中调用另一个解析器的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56402841/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com