2016-09-23 3 views
3

私はfirebaseを使用したリアルタイムのデータベースを持っており、次のコードを使用してデータベースに接続し、そこからデータを取得しています。Firebaseで一度だけデータを取得する

window.onload = function(){ 
var databaseWebsites = firebase.database().ref('/websites').orderByChild('votes'); 
console.log(databaseWebsites); 
databaseWebsites.on('value', function(snapshot) { 
    snapshot.forEach(function(childSnapshot) { 

     var webTemp = document.getElementById(childSnapshot.val().id); 
     webTemp.style.order = order; 
     var webText = webTemp.getElementsByClassName('likeText'); 
     webText[0].innerHTML = childSnapshot.val().votes; 
     order--; 
    }); 

    order = 0; 
}); 

すべてのデータを順番に取得して正しく使用します。

問題は、ユーザーがページを更新するまで、フロントエンドのデータを更新したくないということです。このシステムは、絶えず更新していた場合、投票価値によって注文された投票システムであり、悪いユーザー体験になります。

ご協力いただければ幸いです。

おかげ

答えて

6

変更onceonは、Firebase onは、データベース・ノードの変更を待機し、応答を送信します。

databaseWebsites.on('value', function(snapshot) { 

Firebase DOC

から

databaseWebsites.once('value', function(snapshot) { 

抜粋の値イベントは毎時間データは、子供への変更を含む、指定された データベース参照に変更されると呼ばれます。スナップショットのサイズを に制限するには、 の変更を確認するために必要な最低レベルで接続します。

Visit this url to read more

関連する問題