У меня есть угловое приложение для ввода и расчета оценок учащихся, все данные которых хранятся в Firebase Cloud Firestore. Когда добавляется новая оценка, в настоящее время у меня есть угловой код пользовательского интерфейса, который вычисляет обновленные средние значения для учащегося и напрямую обновляет как учащегося, так и общую статистику класса.
По многим причинам я хочу перенести вычисления и обновления статистикик облачным функциям, запускаемым при создании / обновлении событий документов Firestore. Я думаю, что это будет довольно просто, но тогда мой пользовательский интерфейс вернется почти сразу же, но фактические обновления статистики не произойдут до тех пор, пока функция не будет завершена, возможно, через несколько секунд.
Мой пользовательский интерфейс в настоящее время отслеживает моментальный снимокизменения, поэтому изменения статистики будут автоматически отображаться после завершения функции. Я боюсь, что это может сбить с толку пользователя, если он введет новую оценку, но не сразу увидит изменения, думая, что они не приняли или что-то пошло не так. Но затем, через несколько секунд, на экране неожиданно появляются результаты недавно обновленной статистики.
Я думаю, что может быть лучше, чтобы UX отображал индикатор загрузки, пока функция не завершится и не будет получен обновленный снимок. ,Я не могу найти предложенный метод или шаблон для этого. Как запустить обновление и показать индикатор прогресса, пока не будет получен следующий снимок? Должен ли я отобразить индикатор, а затем в моем коде снимка посмотреть, видим ли индикатор и удалить его?