Обновление нескольких узлов в Firebase, но только для информирования слушателя один раз - PullRequest
0 голосов
/ 15 декабря 2018

У меня есть следующая структура (немного более сложная, чем та, с несколькими уровнями и ветвями). У меня есть слушатель на ZMainBranch, ожидающий обновления на разных уровнях внизу.

У меня есть функция, котораяна основе данных, измененных в другой ветке, он обновляет эти свойства в ZMainBranch.

Проблема в том, что обновления в ZMainBranch выполняются в несколько шагов, что вызывает прослушиватель в ZMainBranch несколько раз.

enter image description here

Мне бы хотелось, чтобы все мои обновления выполнялись за один раз, чтобы слушатель вызывался только один раз.

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

1 Ответ

0 голосов
/ 15 декабря 2018

Если вы выполняете несколько операций записи в определенном местоположении, вы можете ожидать, что активный прослушиватель в этом местоположении может быть вызван несколько раз.Чтобы избежать этого, вы мало что можете сделать.

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

Узнайте об обновлениях в нескольких местоположениях:

https://firebase.googleblog.com/2015/09/introducing-multi-location-updates-and_86.html

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