Есть ли способ, с помощью которого мы можем напрямую получать данные синхронно из DocumentReference, предполагая, что они локально кэшируются?
Нет, с точки зрения отзывчивых приложений.Вы не можете форсировать извлечение данных из кеша, пока вы подключены к серверу, так как вы не можете остановить извлечение данных из кеша, пока вы не подключены к серверу.
Но не толькоБаза данных Firebase Realtime или Cloud Firestore загружают данные асинхронно, как это делают почти все другие современные веб-API, поскольку получение данных может занять некоторое время.Поэтому, если вы заставите получать данные синхронно, это приведет к тому, что ваши пользователи не откроют диалоговые окна приложений.
Первоначальный ответ для большинства разработчиков состоит в том, чтобы попытаться «исправить» это асинхронное поведение, которое я лично рекомендую против этого.,Сеть асинхронна, и как только вы это примете, вы узнаете, как стать продуктивным с помощью современных веб-API.
Существует очень интересная публикация , написанная Дугом Стивенсоном., который поможет вам лучше понять эту концепцию.