Я вижу много проблем с сетью. В консоли 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, который находится «в автономном режиме» (с точки зрения обозревателя).
Я, конечно, могу декодировать это сообщение и дать пользователю правильную информацию, но я бы предпочел официальный способ справиться с этим.