我看过Kinto文档中的diagram for a sync operation,我有一个疑问。
为什么.sync()是一个pull.then(推送).then(拉取)而不只是pull.then(推送)?
我们还需要最后一次拉什么?
发布于 2016-06-07 17:27:55
当您执行推送时,您将更新记录的last_modified值,因此在结束时,您将需要获取列表的新last_modified值。
当您推送您的更改(由另一个设备完成)时,您也可能在集合上获得了一些更改。
在推送之后拉将允许您获取新的last_modified值、您所做的更改以及在此期间所做的更改。
在这一点上,你可能会认为抓住你所做的改变是有点愚蠢的(因为你已经知道你刚刚推的是什么)。它基本上就是the subject of this issue。
其思想是,您还可以尝试将上次更新的last_modified值作为If-Match标头,使用更改前集合的last_modified值作为_since参数,并排除已更改的所有记录ID。
在这种情况下,大多数情况下,你会得到304,或者是你在推送时其他人所做的更改列表。
https://stackoverflow.com/questions/37412090
复制相似问题