Мне нужна помощь в понимании того, как работать с / вокруг проблемы с решением о присутствии Firebase (часть базы данных в реальном времени). Существует различное поведение между версиями 4.1.3 и последними выпусками . Похоже, в версию 4.1.4 или 4.1.5 внесено изменение , которое изменило поведение.
Отключение / повторное подключение при обработке
Когда я использую консоль разработчика Chrome для перехода в автономный режим с версией 4.1.3, мое приложение действительно запускает not connected
. Когда я возвращаюсь «онлайн», мое приложение запускается connected
. Работает как положено.
Напротив, когда я использую консоль разработчика Chrome для перехода в автономный режим с версией 4.1.5+, мое приложение запускает not connected
, а затем сразу же запускает connected
(хотя это не так). Затем, когда я возвращаюсь «онлайн», в моем веб-приложении ничего не происходит.
Это ошибка? Или это ожидаемое поведение, и если да, может ли кто-нибудь объяснить причины этого? Поскольку изменение было внесено в 2017 году, я думаю, что, возможно, именно так оно и должно работать?
Код
Код взят из этого источника .
var connectedRef = firebase.database().ref(".info/connected");
connectedRef.on("value", function(snap) {
if (snap.val() === true) {
console.log("connected");
} else {
console.log("not connected");
}
});