【发布时间】:2018-10-05 14:02:50
【问题描述】:
我正在使用 Google Firestorage 构建一个 react-native android 应用程序。该应用程序的用例可能如下:
用户在设备离线时将数据添加到数据库。一段时间后,用户将他的设备连接到互联网,离线数据会自动同步到 Firestore。到现在为止还挺好。但在他这样做之前,我想显示一条类似“仍有未同步的数据。请将您的设备连接到互联网以进行同步”的文本。
所以我的问题是:是否可以检查 Firestores 离线队列中是否还有尚未同步到在线数据库的数据?
类似
// Device is still offline
if (firestore.offlineQueue.length > 0) {
alert('Hey, you´ve got unsynced data! Please connect your Device to the Internet.');
}
干杯!
【问题讨论】:
-
你试过
var source = snapshot.metadata.fromCache ? "local cache" : "server";吗? -
感谢您的评论!我玩了一下,但它不是只在firestore尝试将数据写入数据库时触发吗?我想我可以检查每个查询是否
fromCache === true,如果是,请存储dataInOfflineQueue = true之类的内容并采取相应措施。但是当离线队列中的数据被同步时是否还有一个事件,所以我知道何时将dataInOfflineQueue设置回 false?像 `addEventListener('offlineQueueSyncFinished', ...) 之类的东西?
标签: google-cloud-firestore react-native-android