在firebase中使用websockets的正确方法是什么?

时间:2017-03-24 08:58:29

标签: javascript firebase real-time

我有一个从firebase读取的应用程序,如果我发布到数据库然后刷新,我会看到新的结果。问题是,它是一个聊天应用程序,所以我不想一直刷新,当别人发布时,他们应该能够实时看到它。

我正在使用它:

  componentDidUpdate() {
    setInterval(this.getMessagesAndSetState, 3000);
  }

但是这很重,导致浏览器缓慢(尽管它基本上实现了我想要的)

firebase是否有一种方法可以在调用时实时不断更新? 还是它与websockets很好地集成?

1 个答案:

答案 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这样的库来添加对应用程序的三向绑定