Метод добавления Firestore не работает должным образом, когда я в автономном режиме - PullRequest
0 голосов
/ 01 июня 2019

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

const data = await firebase.firestore().collection('cards').add(card);
console.log(data) // this line never get executed!

1 Ответ

5 голосов
/ 01 июня 2019

Методы записи (например, add()) возвращают обещание, которое выполняется после завершения (или отклонения) операции записи на сервере. Поскольку вы не подключены к серверу, этого никогда не происходит, и поэтому ваш await останется заблокированным.

Обратите внимание, что вам не нужно await для локальной операции записи, поскольку запись в локальный кэш происходит синхронно. Поэтому, как только вызов add(...) вернется (и не вызовет исключения), вы можете быть уверены, что запись была завершена в локальный кеш. Следовательно, вы должны использовать await только в том случае, если вам нужно знать, что запись также была обработана сервером, и в этом случае поведение, которое вы видите, именно то, что вам нужно.

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