Код сам по себе выглядит так, как будто он должен работать.Но то, как вы перебираете сообщения, не является идиоматическим, поэтому в них трудно обнаружить ошибку.Лучший способ зациклить результаты - использовать Snapshot.forEach()
, например так:
function loadMessages() {
query.on("value", snapshot => {
let list = document.getElementById("messages-list");
if (snapshot.val()) {
list.innerHTML = "";
snapshot.forEach(messageSnap => {
list.innerHTML += generateMessage(messageSnap.val());
});
} else {
list.innerHTML += `<li class="center"> No Messages yet</li>`;
}
});
}
Обратите внимание, что я также удалил async
и await
, так как ваш код, кажется, не нуждается в этом, и онпросто вводит больше места для ошибки.