Как выполнить релейную мутацию асинхронно?

У меня есть мутация реле, которая отправляет некоторые данные на мой сервер. Мое приложение не должно ждать ответа, прежде чем продолжить.

Я знаю, что могу выполнить произвольные запросы со следующим:

const query = Relay.createQuery(Relay.QL`
  query {
    viewer {
      searchInterests(prefix: $prefix, first: 10) {
        edges {
          node {
            id
            name
          }
        }
      }
    },
  }
`, {prefix: input});

Relay.Store.primeCache({query}, readyState => {
  if (readyState.done) {
    // When all data is ready, read the data from the cache:
    const data = Relay.Store.readQuery(query)[0];

    ...
  }

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

1 ответ

При разработке толстого запроса учитывайте все данные, которые могут измениться в результате мутации, а не только данные, используемые в настоящее время вашим приложением. Нам не нужно беспокоиться о перегрузке; этот запрос никогда не выполняется без предварительного пересечения с "отслеживаемым запросом" данных, которые действительно нужны нашему приложению. Если мы пропустим поля в толстом запросе, мы можем наблюдать несоответствия данных в будущем, когда добавим представления с новыми зависимостями данных или добавим новые зависимости данных в существующие представления.

Другие вопросы по тегам