Следующий вопрос об обновлении optimisti c: когда оно нам нужно? - PullRequest
2 голосов
/ 31 марта 2020

Итак, я узнал о дискуссии о концепции optimistic update, и это тема:

что такое "optimisti c updates" в разработке переднего плана

Мой вопрос:

Что если пользователь нажмет на upvote, и он thinks завершит работу, и он просто закроет вкладку / окно. Но, может быть, через 2 дня он узнает, что его голос никогда не удался. Он либо злится, либо думает, что результат голосования готов.

Я не понимаю, почему более отзывчивый пользовательский опыт побеждает истинно-y-результат?

Или, вопрос получше это: когда нам нужно optimistic update?

Ответы [ 2 ]

2 голосов
/ 31 марта 2020

Так что я думаю об этом так: приложения, такие как Facebook, Instagram и все, что имеет опыт взаимодействия при прокрутке. Когда вы набираете scrolling и нажимаете как, как только вы видите это в пользовательском интерфейсе, вы продолжаете прокручивать, вы обычно не go возвращаетесь и проверяете, даже если запрос не выполнен .. но если он не был оптимизирован c, вы нажимаете как и ничего не получаете, пока ваш запрос не будет выполнен, это побуждает пользователя прекратить фактическое действие прокрутки и продолжать нажимать, пока он не будет удовлетворен.

также, по статистике, приходит optimistic исходя из оптимизма, что определенное действие имеет higher chance успеха, такие действия, как «как, любовь, upvote, et c». так что имеет больше смысла не ждать всех этих ответов, так как 90% времени он приземлится.

1 голос
/ 31 марта 2020

Ваш вопрос имеет проблему сам по себе, дело в том, что действие пользователя будет доставлено на сервер немедленно, но, поскольку это асинхронная задача (побочный эффект) - клиенту (хранилище избыточных данных) нет дела до ответ и немедленно устанавливает upvote в магазине. Теперь потенциально может произойти ошибка с upvote, но нашему приложению все равно, потому что мы используем оптимистическое c обновление некритической функции.

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

...