Firebase监听器回调有时需要太长时间才能触发

时间:2019-03-06 17:54:40

标签: reactjs firebase firebase-realtime-database

我一直在使用Firebase实时数据库来存储非常简单的数据。侦听器设置在补充生命周期事件上。大部分时间一切正常。很少有回调快照花费比其平均1-2秒更长的时间,但最终它会在30或40秒后做出响应。但是,这不是网络问题,仅在Windows客户端上发生。

componentDidMount() {
    this.folderRef = db.ref(`folders/${this.props.user}`)
    this.listRef = db.ref(`lists/${this.props.user}`)
    this.folderListener = this.folderRef.on('value', (snapshot) => {
        //this won't fire randomly
        this.props.getFolderTree(snapshot.val())
    })
    this.listListener = this.listRef.on('value', (snapshot) => {
        //this won't fire randomly
        this.props.getList(snapshot.val())
    })
}

componentWillUnmount() {
    if (this.folderListener) {
        this.folderRef.off('value', this.folderListener)
        this.folderListener = null
    }
    if (this.listListener) {
        this.listRef.off('value', this.listListener)
        this.listListener = null
    }
}

我想知道在firebase值回调中行为相似的人是否可以就解决问题的方式分享相同的见识。

编辑:与this issue

相同

0 个答案:

没有答案