Методы UX для отображения "загрузки" пользовательского интерфейса, пока не завершится Firebase Cloud Function? - PullRequest
0 голосов
/ 04 ноября 2019

У меня есть угловое приложение для ввода и расчета оценок учащихся, все данные которых хранятся в Firebase Cloud Firestore. Когда добавляется новая оценка, в настоящее время у меня есть угловой код пользовательского интерфейса, который вычисляет обновленные средние значения для учащегося и напрямую обновляет как учащегося, так и общую статистику класса.

По многим причинам я хочу перенести вычисления и обновления статистикик облачным функциям, запускаемым при создании / обновлении событий документов Firestore. Я думаю, что это будет довольно просто, но тогда мой пользовательский интерфейс вернется почти сразу же, но фактические обновления статистики не произойдут до тех пор, пока функция не будет завершена, возможно, через несколько секунд.

Мой пользовательский интерфейс в настоящее время отслеживает моментальный снимокизменения, поэтому изменения статистики будут автоматически отображаться после завершения функции. Я боюсь, что это может сбить с толку пользователя, если он введет новую оценку, но не сразу увидит изменения, думая, что они не приняли или что-то пошло не так. Но затем, через несколько секунд, на экране неожиданно появляются результаты недавно обновленной статистики.

Я думаю, что может быть лучше, чтобы UX отображал индикатор загрузки, пока функция не завершится и не будет получен обновленный снимок. ,Я не могу найти предложенный метод или шаблон для этого. Как запустить обновление и показать индикатор прогресса, пока не будет получен следующий снимок? Должен ли я отобразить индикатор, а затем в моем коде снимка посмотреть, видим ли индикатор и удалить его?

1 Ответ

2 голосов
/ 04 ноября 2019

ИМХО Я не думаю, что вы должны чрезмерно усложнять свое поведение UX.

Как вы уже сделали набросок в своем вопросе, вы должны отображать «индикатор загрузки» при записи в документ Firestore, который запускает функцию Cloud, и скрывать этот индикатор загрузки, когда ваш слушатель изменений снимка указывает, что статистика обновляется вback-end.

В терминах UX вы можете выбрать блокирующий «индикатор загрузки» или неблокирующий, в зависимости от точной функции вашего приложения.

Non-блокирующий индикатор загрузки

Если, например, пользователь все еще может работать на экране, пока показатель статистики рассчитывается в бэк-энде, отобразите индикатор загрузки рядом с полем статистики (например, небольшой счетчик спростой текст «текущее обновление статистики»).

Индикатор блокировки загрузки

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

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