[Frontend] Optimistic update

今天聽到這個名詞,發現不是很熟,所以來研究一下。

什麼是 Optimistic update?

Optimistic update 是一種前端設計的手段,用於在用戶進行操作之前預測操作的結果。這種技術通常用於提高用戶體驗,減少等待時間,並且在操作失敗時提供更好的恢復機制。

像是你在 StackOverflow 上面按人家倒讚,畫面上會先顯示你按讚成功,然後過一下才會真的送出,不管 server 有沒有收到。

為什麼需要 Optimistic update?

因為在網路上,很多操作都需要等待 server 的回應。像是按讚、留言、分享等等。如果每次都要等到 server 回應,有時候延遲一下下,會讓人覺得很煩。

怎麼實作?

通常會在 client 端先進行操作,然後再送出到 server 端。如果 server 端回應成功,就更新畫面。如果失敗,就恢復原本的狀態。

優缺點

優點

  • 提高用戶體驗,減少等待時間
  • 在操作失敗時提供更好的恢復機制

缺點

  • 如果 server 端回應失敗,會讓人覺得很煩哈哈

ref