Запрос Apollo GraphQL заменяет массив подэлементов другим запросом - PullRequest
0 голосов
/ 08 мая 2018

У меня есть два запроса, извлекающих типы категорий компании. Запрос сотрудника включает в себя подмножество типов типов запросов компании в базе данных. Если я просто запрашиваю запрос сотрудника, массив типов сотрудников включает в себя 2 элемента. Если я просто сделаю запрос к компании, массив типов компании включает 4 элемента. Что ж.. Но если я запрашиваю оба, массив типов employee обновляется и неожиданно включает 4 элемента вместо 2.

query GetEmployee ($id: ID!) {
employee (id: $id) {
  id,
  companyTaskCategories{
      id,
      title,
      color,
      archived,
      types(restrictEmployee: true)  {
        id,
        title,
        archived,
      }
  }
}


query company {
company {
  id,
  taskCategories {
    id,
    title,
    color,
    archived,
    types(restrictEmployee: false) {
      id,
      title,
      archived,
    }
  }
}

}

1 Ответ

0 голосов
/ 08 мая 2018

Не уверен, как вы реализовали свои функции распознавателя, но если вы хотите выполнить два запроса и получить изолированные результаты, используйте мутации, так как ваши запросы не создадут условия гонки в бэкэнде.

Поэтому, пожалуйста, используйте мутацию для последовательного извлечения данных.

Как указано в http://graphql.org/learn/queries/

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...