假设我有一个类似这样的查询
{
items {
id
name
price
}
}
price
拥有自己的解析器我如何说基于价格对商品数组应用排序逻辑?在所有价格解决之后。
答案 0 :(得分:1)
不幸的是,这是不可能的。您的items
字段必须在price
字段之前进行解析,因为必须使price
解析程序可以使用每个项目的值。
解决此问题的唯一方法是将price
解析器内部的逻辑移至项目解析器本身。一个简单的例子:
const resolvers = {
Query: {
items: async () {
const items = await getItems()
return Promise.all(items.map(async (item) => {
const price = await getPriceForItem(item)
return { ...item, price }
}))
}
}
}