私はGoogle Firebaseを使用してアプリケーションにデータをロードしています。トラバースその後Firebase servercallが完了したことを検出する方法
firebase.database().ref('/messages').limitToLast(40).once('value', function(messages) {
traverseMessages(messages.val());
});
:私はそうのような最後の40チャットメッセージを取得し、初期負荷をしています
// traverse messages function
function traverseMessages(obj) {
for (var prop in obj) {
var message = obj[prop].message;
var chatUser = obj[prop].username;
// populate function with data
createChatElements(chatUser, message);
};
};
HTML要素を作成します。
// build html for chat elements
function createChatElements(chatUser, message) {
// build HTML
var chatHTML = '<div class="chat-message">';
chatHTML += '<h5 class="chat-message-username">' + chatUser + '</h5>';
chatHTML += '<p class="chat-message-message">' + message + '</p>';
chatHTML += '</div>';
// function to append chat
appendChatToStaging(chatHTML);
};
要素が<div class="chat-staging"></div>
に追加されます
すべてのメッセージが追加されたら、私はイブをトリガーしたい関数でnt。
しかし、どのように多くのメッセージがデータベースにあるのかわからないので、すべてのメッセージが追加されていることを検出する方法を考え出すことはできません。場合によっては40未満です。
私は次のようにしたいと考えています。サーバーへの呼び出しが完了したときと、取得されたメッセージの数を検出します。しかし、どのように!
ねえジャバは、私の答えは参考になりました場合は、あなたはまだ疑問を持っているなら、私に知らせてください。ありがとう。 – adolfosrs
こんにちは、それは実際には機能しませんでした。奇妙な結果を得ていた。たぶん私の厄介なコードのため。私は今別の方法を考え出した:)私と考えてくれてありがとう! –