Как выполнить релейную мутацию асинхронно?
У меня есть мутация реле, которая отправляет некоторые данные на мой сервер. Мое приложение не должно ждать ответа, прежде чем продолжить.
Я знаю, что могу выполнить произвольные запросы со следующим:
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 ответ
При разработке толстого запроса учитывайте все данные, которые могут измениться в результате мутации, а не только данные, используемые в настоящее время вашим приложением. Нам не нужно беспокоиться о перегрузке; этот запрос никогда не выполняется без предварительного пересечения с "отслеживаемым запросом" данных, которые действительно нужны нашему приложению. Если мы пропустим поля в толстом запросе, мы можем наблюдать несоответствия данных в будущем, когда добавим представления с новыми зависимостями данных или добавим новые зависимости данных в существующие представления.