我有一个从firebase读取的应用程序,如果我发布到数据库然后刷新,我会看到新的结果。问题是,它是一个聊天应用程序,所以我不想一直刷新,当别人发布时,他们应该能够实时看到它。
我正在使用它:
componentDidUpdate() {
setInterval(this.getMessagesAndSetState, 3000);
}
但是这很重,导致浏览器缓慢(尽管它基本上实现了我想要的)
firebase是否有一种方法可以在调用时实时不断更新? 还是它与websockets很好地集成?
答案 0 :(得分:1)
firebase触发名为value的事件,如果服务器上有任何更改,将调用该事件
以下示例
var starCountRef = firebase.database().ref('posts/' + postId + '/starCount');
starCountRef.on('value', function(snapshot) {
updateStarCount(postElement, snapshot.val());
});
REF https://firebase.google.com/docs/database/web/read-and-write
如果你在angularjs中制作这个应用程序,那么你可以使用像angularfire这样的库来添加对应用程序的三向绑定