webclient上的活动侦听器数

时间:2018-03-19 15:56:13

标签: firebase google-cloud-firestore

打开多个db.xx.onSnapshot侦听器,有没有办法知道firebase SDK中有多少/哪些活动侦听器? &安培;如果所有活动侦听器都有全局断开连接方法?

2 个答案:

答案 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