乐观 UI卡片
乐观 UI (Optimistic UI),即对用户交互做出实时反应,而不等待服务响应,认为绝大部分情况下服务都会执行成功。若后续服务出错,则对用户操作回滚。
乐观 UI 的常用场景有:评论交互、列表拖拽更新、文章草稿更新等
相比增加 loading 状态,对用户的反馈影响较小。
# 什么情况下使用
- 客态行为:比如给别人点赞,如果没有成功,影响也还好。但如果是保存自己的文章内容,没有成功影响很大。
- 服务稳定性(SLO)高:至少得 99.9% 的稳定性才使用此功能
# loading 状态的平衡
社交软件发送消息,通常不会使用乐观 UI,容易给用户造成困扰。
但每条消息发送时都出 loading ,即使请求在 200ms 内完成,用户也会觉得交互上存在卡顿。
有一种相对友好但成本较高的解决方案:默认不出 loading 并设置定时器,若 200ms 内还未完成请求,则开始 loading。
# 参考资料
编辑 (opens new window)
上次更新: 2023/08/30, 15:38:54