Я реализую социальную функцию в своем приложении для Android, и мне интересно, как обеспечить хороший пользовательский опыт.
Когда пользователь нажимает кнопку «VoteUp», я жду, когда завершится транзакция базы данных Firebase в реальном времени.Поскольку это асинхронный сетевой вызов, требуется некоторое время.
Мой фактический код обновляет пользовательский интерфейс при завершении транзакции.Но есть раздражающая задержка между взаимодействием пользователя и обновлением пользовательского интерфейса.
Должен ли я обновлять пользовательский интерфейс (вычислять и обновлять счетчики, изменять состояние кнопки) на стороне клиента, предполагая, что транзакция будет успешной?Если да, то как обрабатывать ошибки в этом сценарии?