作者回复: 多谢,我看下。
补充回复:今天花时间复现了该bug。严格来说不算bug,之所以出现这类情况,是因为服务端被重启后丢失数据(目前服务端是mock的),而客户端的cache里面还有这份文档。而我们在生成文档的id的时候是固定的10001开始,所以导致两份文档有相同的id,客户端对changes的判断就出现了偏差。这个问题修复的方式可以是:
1. 改程序。让服务端生成文档id不是10001这类,而是一个uuid。
2. 不改程序,不把它当bug。那么最简单的就是清空浏览器 localhost:8888 的 localStorage。这个一般浏览器的开发者工具都可以做到。
作者回复: 直接说说是哪些地方?
作者回复: 前端其实比后端要简单直接,可以适当实战感悟一下就容易理解。
作者回复: 我测试了 FireFox Quantum 69.0 (64 位) 版本,没有重现你的问题。考虑到这个只是demo,对于浏览器兼容性考虑不是很多,建议升级下浏览器版本。