如何解决复杂的乐观更新:如何处理不仅仅是类似二进制的元素
我想构建一个乐观的 ui,我可以在其中执行所有 CRUD 操作。例如,用户可以在其中添加、更新和删除待办事项的待办事项应用。
但是,我找不到任何讨论的不仅仅是添加项目的资源。例如:
- https://redux-toolkit.js.org/rtk-query/usage/optimistic-updates
- https://www.apollographql.com/docs/react/v2/performance/optimistic-ui/
Other articles 甚至建议不要在服务器响应有两个以上状态(例如成功、失败)时使用乐观更新。
有人可以向我指出处理以下某些内容的任何文档、教程或论文吗?或者已经成功实现了这一点的网站?
我在排队请求时遇到的一些问题:
- 回滚
用户丢失了所有更改?
- 浪费的带宽
- 用户添加了待办事项 1
- 发送 POST 请求 1
- 用户添加了待办事项 2
- POST 请求 2 已排队
- 用户删除了待办事项 2
- DELETE 请求 3 已排队
- POST 请求 1 完成
- 发出 POST 请求 2
- 发出 DELETE 请求 3
我们不必发送请求 2 和 3 ?
除了对请求进行排队之外,我还可以对请求进行去抖动并发送事务日志 或者只是后端的当前状态。然后后端可以计算出所需的最少数据库更新。
也许已经有一些不同的算法?
解决方法
也许我可以从 Google Docs 等协作编辑中得到一些提示:
令人难以置信的可视化:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。