Как отсортировать массив graphql по свойству, имеющему собственный распознаватель - PullRequest
0 голосов
/ 15 ноября 2018

Предположим, у меня есть запрос, похожий на этот

{
    items {
        id
        name
        price
    }
}
  • преобразователь элементов возвращает массив.
  • price имеет собственный распознаватель

Как я могу сказать, применить логику сортировки к массиву предметов по цене? после того, как все цены решены.

1 Ответ

0 голосов
/ 15 ноября 2018

К сожалению, это невозможно.Ваше поле 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 }
      }))
    }
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...