Я использую Firebase child_added
, чтобы следить за добавлением новых записей в мою базу данных.Firebase child_added прослушиватель событий, возвращающий повторяющиеся данные
Возможно, это сработало некоторое время, но затем я заметил некоторые проблемы при выходе из соединения. Если я оставлю свое приложение открытым в течение длительного периода времени, когда Firebase возвращает дубликаты. Я думаю, что это может быть связано с тем, что соединение было отброшено, а затем установлено.
Вот мой код.
getVoicemailList: function() {
var self = this;
var userId = firebase.auth().currentUser.uid;
firebase.database().ref('voicemails/' + userId).on('child_added', function(snapshot) {
var voicemail = snapshot.val();
self.addToCollection(voicemail.callerID, voicemail.timeReceived, voicemail.transcription, voicemail.audioURL);
});
},
addToCollection: function(callerID, timeReceived, transcription, audioURL) {
console.log(callerID)
var collectionList = $('.collapsible').length;
if(!collectionList) {
$('#main-content').append('<ul class="collapsible" data-collapsible="accordion"></ul>')
}
var output = '<li>';
output += '<div class="collapsible-header"><i class="material-icons">filter_drama</i>'+callerID+'</div>';
output += '<div class="collapsible-body">';
output += '<p><audio id="source" controls>';
output += '<source src="'+audioURL+'" type="audio/mpeg">';
output += '</audio></p>';
output += '<p>'+timeReceived+'</p>';
output += '<p>'+transcription+'</p>';
output += '</div>';
output += '</li>';
$('.collapsible').append(output);
$('.collapsible').collapsible();
},
Это определенно не так. Вы уверены, что getVoicemailList только когда-либо называется? Firebase SDK очень осторожен, не поднимая повторяющиеся события. Можете ли вы указать версию SDK Firebase, которую вы используете, и предоставить MCVE (https://stackoverflow.com/help/mcve)? –