我正在使用 Dropbox Datastore API 的 JavaScript SDK 风格以及适用于移动设备和桌面的 Web 应用程序。当应用脱机时触发recordsChanged
事件时,将生成有关这些更改的对象数据,但在应用再次联机之前,更改无法同步到datastore
。
可以根据设置表检查事件数据,例如:
e.affectedRecordsForTable("settings")
但是返回的数组数据有很多层需要处理。
[t_datastore: t_deleted: false_managed_datastore: t_record_cache: t_rid: "startDate"_tid: "settings"__proto__: t]
我想捕获每个更改(每个数组索引)的"已同步"或"尚未同步"状态,以便我可以存储仍在等待同步的数据,以防会话丢失(用户关闭app/browser
或操作系统终止应用程序进程)。 但我也想知道数据是否/何时最终成功同步。 我在哪里可以找到保存此数据的房产?
我找到了答案。 Steve Marx 在 Dropbox 开发者博客上有一篇文章,涵盖了我需要的信息。有一个 datastore.getSyncStatus().uploading
属性,根据数据存储同步状态的状态返回true
或false
。
源:https://www.dropbox.com/developers/blog/61/checking-the-datastore-sync-status-in-javascript