私はKintoドキュメントのdiagram for a sync operationを見ていましたが、疑問があります。.sync()関数はどのように機能しますか?
なぜ.sync()はpull.then(push)の代わりにpull.then(push).then(pull)ですか?
最後に引き出す必要はありますか?
私はKintoドキュメントのdiagram for a sync operationを見ていましたが、疑問があります。.sync()関数はどのように機能しますか?
なぜ.sync()はpull.then(push)の代わりにpull.then(push).then(pull)ですか?
最後に引き出す必要はありますか?
プッシュを実行すると、レコードlast_modified
の値が更新されるため、最後に新しいlast_modified
の値を取得する必要があります。
また、変更をプッシュしている間に(別のデバイスで行われた)コレクションにいくつかの変更があるかもしれません。
プッシュ後にプッシュすると、新しいlast_modified
値、変更内容、およびその間に加えられた変更を取得できます。
この時点で、行った変更を把握するのはちょっとばかだと思うかもしれません。基本的にはthe subject of this issueです。
アイデアは、あなたも_since
パラメータとして変更する前に、コレクションのlast_modified
値を使用して、あなたが変更したすべてのレコードIDを除くIf-Match
ヘッダーとして、あなたの最後の更新のlast_modified
値を引くしようとすることができるということです。
この場合、プッシュをしている間に、ほとんどの場合、または他の人が行った変更のリストが表示されます。