Гарантируют ли слушатели событий, что все когда-либо записанные в путь данные будут в конечном итоге доставлены клиенту?Например, если у меня есть игровой клиент, который толкает ходы по одному и тому же пути один за другим, получит ли слушающий клиент все обновления?Что произойдет в этой ситуации: клиент A толкает ход 1 к game1 / user1 / move_data, который слушает клиент B;клиент A затем немедленно отправляет другой ход, обновляя значение в game1 / user1 / move_data.Будет ли гарантированный клиент-получатель получать все отправленные ходы?
В настоящее время у меня есть система, которая создает новый путь на каждый ход, а затем я вызываю одиночных слушателей на каждый ход, когда каждый клиент достигает этого движения в своем состоянии.Это не кажется эффективным, как если бы клиент A получил самое последнее движение, которое сделал клиент B, тогда клиент A начинает прослушивать путь, который еще не существует.
Ниже приведены цитаты из этой ссылки: https://firebase.google.com/docs/database/admin/retrieve-data
"Событие value используется для чтения статического снимка содержимого по заданному пути к базе данных, поскольку они существовали на моментсобытие чтения. Оно запускается один раз с начальными данными и снова при каждом изменении данных. Обратному вызову события передается моментальный снимок, содержащий все данные в этом месте, включая дочерние данные. В приведенном выше примере кода значение возвращало весь блогпосты в вашем приложении. Каждый раз, когда добавляется новый пост в блоге, функция обратного вызова возвращает все посты. "
Часть о том, как они существовали во время события чтения, заставляет меня думать, что еслислушатель находится на пути, тогда клиент, в конце концов, получит все значения, когда-либо находящиеся на этом пути.
Есть также строка из раздела гарантий, которую я пытаюсь расшифровать:
"События значенийвсегда срабатывает последним и гарантированно содержит обновления от любых других событий, которые произошли до этого снимкаs взято. "
Я работаю с языком, у которого нет sdk на основе Google, и задаю этот вопрос, чтобы я мог дополнительно оценить пригодность Firebases для моего использования.