小编Rah*_*hul的帖子

用于并发更新的Google差异匹配补丁

所以,我的应用程序中有一个谷歌文档类型功能,可以由多个用户同时编辑. 当只有一个用户更新文档时,Diff-match-patch对我来说很好.

但是当它说docs已经由user1更新并且没有传递给user2时(由于套接字错误或网络错误),它会生成错误的数据.

例如 - '堆栈溢出是55666'.是我的文档,由多个用户编辑.现在,user1将其更改为'Stack overflow is 6.'

并计算diff并将其发送到服务器,但在此之前user2已将其更改为其他内容,比如说'Stack overflow is 25552.'.现在,当应用补丁(来自user1)时,它会产生错误的结果 'Stack overflow is 252.'

那么如何管理它以实现并发更新?我可以使用Socket,这样如果其他人更改,我会将更改发送给其他用户,以便他们可以拥有最新的更新数据,但如果更改很多,则UX可能会很糟糕,因为其他用户可能会看到随机更改.

javascript google-diff-match-patch

5
推荐指数
0
解决办法
150
查看次数