При включении персистентности для Firebase в iOS, что на самом деле происходит с моими наблюдателями и как они ведут себя на техническом уровне?
У меня есть хорошая идея, как он должен работать на высоком уровне на основе этого https://www.firebase.com/docs/ios/guide/offline-capabilities.html - Firebase по существу хранит кешированную копию данные, к которым вы можете получить доступ, в автономном режиме.
Я не понимаю, сколько раз мои наблюдатели должны стрелять и с какой информацией.
- Почему firebase всегда запускает мои наблюдатели один раз с любыми кэшированными данными сначала (или null, если нет данных), за которыми следуют данные сервера.
- Или он отправляет только кешированные данные, если они существуют, за которыми следуют данные сервера.
- Есть ли разница между observerSingleValue и непрерывным поведением наблюдателя в режиме сохранения?
В нашем приложении с включенным сохранением я заметил:
- Firebase просто отправляет данные сервера
- Firebase отправляет кешированные данные, если они существуют, а затем данные сервера.
- Firebase отправляет кешированные данные и null, если они не существуют, за которыми следуют данные сервера.
Было бы хорошо прояснить это, чтобы мы знали, какое должно быть нормальное поведение:)