Могу ли я поймать это сообщение Firestore в JavaScript? - PullRequest
0 голосов
/ 04 мая 2020

Я вижу много проблем с сетью. В консоли JavaScript я вижу это сообщение:

@ firebase / firestore: Firestore (7.14.2): Не удалось связаться с бэкэндом Cloud Firestore. Сервер не ответил в течение 10 секунд. Обычно это указывает на то, что ваше устройство в настоящее время не имеет исправного соединения Inte rnet. Клиент будет работать в автономном режиме до тех пор, пока не сможет успешно подключиться к бэкэнду.

Можно ли как-то это перехватить и показать пользователю?


РЕДАКТИРОВАТЬ: разъяснение. Это сообщение не является проблемой, когда веб-браузер отключен. В этом случае все работает так, как я ожидаю. У меня есть это в моем коде:

await firebase.firestore().enablePersistence({ synchronizeTabs: true })

Однако, когда navigator.onLine === true, но Firestore не может быть достигнут, я сначала вижу консольное сообщение выше. После этого я получаю сообщение об ошибке:

Uncaught (в обещании) FirebaseError: Не удалось получить документ, поскольку клиент находится в автономном режиме.

Это сообщение неверное. Браузер не в автономном режиме. Это - Firebase, который находится «в автономном режиме» (с точки зрения обозревателя).

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

1 Ответ

1 голос
/ 04 мая 2020

Это не ошибка, это уведомление. Это не может быть пойман. Он сообщает вам, что Firestore SDK трудно получить доступ к службе Firestore и будет использовать кэш только до тех пор, пока это не разрешится. Нахождение в автономном режиме не является ошибкой, поскольку Firestore SDK был создан для временного автономного использования в обычном режиме.

Возможно, вы захотите узнать больше о том, как работает кэш Firestore .

...