К сожалению, это невозможно.Ваше поле 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 }
}))
}
}
}