微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

复杂的乐观更新:如何处理不仅仅是类似二进制的元素

如何解决复杂的乐观更新:如何处理不仅仅是类似二进制的元素

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

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

Other articles 甚至建议不要在服务器响应有两个以上状态(例如成功、失败)时使用乐观更新。

有人可以向我指出处理以下某些内容的任何文档、教程或论文吗?或者已经成功实现了这一点的网站?

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

  1. 回滚
  • 用户添加了待办事项 1
  • 发送 POST 请求 1
  • 用户进行了大量更改
  • 以下http请求排队等待第一个完成
  • 请求 1 失败
  • 我们回滚到原始状态

用户丢失了所有更改?

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

我们不必发送请求 2 和 3 ?

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

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

解决方法

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。