【发布时间】:2021-07-09 08:16:18
【问题描述】:
我正在实现基于文档的存在检测。有一件事我无法得到它。为什么他们在 Firebase 的文档中设置了当时在线的用户?
我认为正确的代码是
firebase.database().ref('.info/connected').on('value', function(snapshot) {
if (snapshot.val() == false) {
userStatusFirestoreRef.set(isOfflineForFirestore);
return;
};
// I thought they should set a user online here.
userStatusDatabaseRef.set(isOnlineForDatabase);
userStatusFirestoreRef.set(isOnlineForFirestore);
userStatusDatabaseRef.onDisconnect().set(isOfflineForDatabase).then(function() {
});
});
。另一方面,文件显示
firebase.database().ref('.info/connected').on('value', function(snapshot) {
if (snapshot.val() == false) {
userStatusFirestoreRef.set(isOfflineForFirestore);
return;
};
userStatusDatabaseRef.onDisconnect().set(isOfflineForDatabase).then(function() {
// but the document does here.
userStatusDatabaseRef.set(isOnlineForDatabase);
userStatusFirestoreRef.set(isOnlineForFirestore);
});
});
在文档中找到。
我认为他们应该将用户设置为在连接时在线。好像检测到离线的时候,先设置isOfflineForDatabase,再设置isOnlineForDatabase和isOnlineForFirestore。这是怎么回事?为什么我的代码不好?实际上,他们的代码运行良好。
感谢您的阅读。
【问题讨论】:
标签: firebase firebase-realtime-database google-cloud-firestore google-cloud-functions