这是一个创建于 3050 天前的主题,其中的信息可能已经有所发展或是发生改变。
我一直有这个疑惑,但我总觉得这种常见的问题应该是有优雅的解决方案的。
问题如下:
第一次请求服务器返回数据 1 、 2 、 3 、 4 。
本地存储数据 1 、 2 、 3 、 4 。
第二次请求服务器返回数据 1 、 3 。( 2 、 4 被删掉了)
本地存储如何删除服务器删除的 2 、 4 ?
想到的解决方案:
1 、每次请求返回直接删除本地全部数据,然后再插入。(简单粗暴)
2 、用 Set 取差集,删之。
有没有更优雅的解决方案?
1 条回复 • 2016-01-11 16:24:31 +08:00
|
|
1
Elethom 2016-01-11 16:24:31 +08:00 via iPhone
只記錄同步點和變更,同步時先鎖定本地版本記錄一個新的同步點,將本地變更上傳至伺服器合併,如果有衝突則提示用戶手動 resolve ,沒有衝突則將上一個同步點至當前同步點的變更更新到本地。
|