2017-03-24 1 views
1

J'ai une application qui lit à partir de Firebase et si je poste à la base de données, puis rafraîchir, je vois les nouveaux résultats. Le problème est que c'est une application de chat, donc je ne veux pas me rafraîchir tout le temps et quand quelqu'un d'autre publie, il devrait pouvoir voir ça en temps réel.Quelle est la bonne façon d'utiliser websockets dans Firebase?

j'utilisais ce un peu:

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

Mais c'est lourd et les résultats dans un navigateur laggy lent (bien qu'il ne réalise essentiellement ce que je veux)

Est ont firebase une méthode mettra à jour en permanence en temps réel si appelé? Ou s'intègre-t-il bien avec les Websockets?

Répondre

1

firebase déclenche des événements appelés valeur qui sera appelée s'il y a quelque chose a changé sur le serveur

exemple ci-dessous

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

si vous faites cette application dans AngularJS puis vous pouvez utiliser des bibliothèques comme angularfire qui ajouteront la liaison à trois voies à votre application

+0

im using re acte. donc appeler cette méthode 'on' devrait mettre à jour mon code en temps réel? –