打开多个db.xx.onSnapshot
侦听器,有没有办法知道firebase SDK中有多少/哪些活动侦听器? &安培;如果所有活动侦听器都有全局断开连接方法?
答案 0 :(得分:0)
Cloud Firestore没有在线系统的概念。如果您需要这样的内容,请查看文档中的building a presence system页面,其中介绍了如何使用Firebase实时数据库。
答案 1 :(得分:0)
这个问题很老了,但我也需要这样做,所以这就是我最终要做的:
export default new class FirebaseUtils {
/** Number of active listeners */
listenerCount = 0
/** Wrap a canceller returned by onSnapshot() */
wrap(canceller) {
// Increase count
this.listenerCount += 1
// Wrap canceller
let hasCancelled = false
return e => {
// Only do once
if (hasCancelled) return
hasCancelled = true
// Cancel it
canceller()
// Decrease count
this.listenerCount -= 1
}
}
}
... 然后简单地将 FirebaseUtils.wrap(...)
放在应用程序中的每个 onSnapshot()
侦听器周围。然后,要随时获取听众数量,可以阅读FirebaseUtils.listenerCount