3

我想构建一个乐观的 ui,我可以在其中执行所有 CRUD 操作。例如,用户可以在其中添加、更新和删除待办事项的待办事项应用程序。

但是,我找不到任何讨论不仅仅是添加项目的资源。例如:

如果服务器响应有两个以上的状态(例如成功、失败),其他文章甚至建议不要使用乐观更新。

有人可以指出我处理以下一些事情的任何文档、教程或论文吗?或者一个已经成功实施的网站?

排队请求时遇到的一些问题:

  1. 回滚
  • 用户添加待办事项 1
  • POST 请求 1 已发送
  • 用户做了很多改变
  • 以下http请求排队等待第一个完成
  • 请求 1 失败
  • 我们回滚到原来的状态

用户丢失了所有更改

  1. 浪费的带宽
  • 用户添加待办事项 1
  • POST 请求 1 已发送
  • 用户添加待办事项 2
  • POST 请求 2 已排队
  • 用户删除待办事项 2
  • DELETE 请求 3 已排队
  • POST 请求 1 完成
  • 发出 POST 请求 2
  • 发出删除请求 3

我们不必发送请求 2 和 3

除了对请求进行排队,我还可以对请求进行去抖动并将事务日志或仅当前状态发送到后端。然后后端可以计算出所需的最少数据库更新。

也许已经有一些这些不同的算法?

4

1 回答 1

0

也许我可以从 Google Docs 等协作编辑中获得一些提示:

令人难以置信的可视化:

于 2021-07-31T06:03:06.257 回答