我一直在使用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
相同