Firebase - отключить «автономный» режим и заставить «update ()» генерировать сетевое исключение? - PullRequest
0 голосов
/ 03 июня 2018

Я использую update() для установки количества лайков и лайков.В настоящее время update() сохраняет данные в автономном режиме.

Что я хочу - когда пользователь не в сети, ему не может понравиться сообщение.Вместо этого должно отображаться соответствующее сообщение об ошибке сети.

Проблема - update() не выдает сетевое исключение и передает данные на сервер каждый раз, когда пользователь подключается к сети.

Ниже я делаю следующее:

db.child(nodepath).update(fanoutObj).then((){
        console.log("Data saved successfully.");
}).catch(function(error) {
        console.log("Data could not be saved." + error);
});

catch никогда не вызывается в случае отсутствия интернета.

Вопросы:

  1. Могу ли я отключить пожарный режим в автономном режиме, чтобы он вызывал сетевое исключение на update() при отсутствии подключения к Интернету?

  2. Или я должен отдельно проверять сетевое соединение на кнопкенажмите?

1 Ответ

0 голосов
/ 03 июня 2018

База данных реального времени (и Firestore) предполагают, что клиенты обычно подключены.Недостаток подключения считается временной проблемой.Поэтому SDK будут молча повторять попытки подключения и никогда не будут генерировать ошибки из-за отсутствия соединения.Вы ничего не можете сделать, чтобы изменить это поведение.

Вместо этого вы можете использовать облачные функции для создания конечной точки HTTP для вызова, который выполняет работу с базой данных.Ваш HTTP-клиент будет генерировать ошибки, если он не сможет подключиться.

...