Метод forEach в Firebase вызывает обратный вызов с дочерним снимком с неопределенным ключом

1

Прошло несколько месяцев, когда я начал изучать JavaScript, так как я разработчик IOS, я предпочитаю Firebase в качестве моего бэкенда для своих сайтов.

Итак, на практике сегодня я читал данные Firebase и предупреждал об этом сам, я использовал этот код,

Обратите внимание: этот код является только примером и используется во время моей работы, и он официально поступает из документации Firebase.

var query = firebase.database().ref("users").orderByKey();

query.once("value")
  .then(function(snapshot) {
    snapshot.forEach(function(childSnapshot) {
      // key will be "ada" the first time and "alan" the second time
      var key = childSnapshot.key;
      // childData will be the actual contents of the child
      var childData = childSnapshot.val();

        alert(key); // also tried the (key.value); as well
  });

и вот моя структура Firebase: Изображение 174551

и выход: Изображение 174551

Теги:
firebase
firebase-realtime-database

1 ответ

1
Лучший ответ

Это забавно, но firebase не обновляет свои документы так часто, как их изменения API, что еще хуже, если вы используете Angular 4+. Попробуйте переписать код, как показано ниже. вам нужно вернуть логическое значение после итерации моментального снимка с помощью forEach:

    var query = firebase.database().ref("users").orderByKey();
    query.once("value", (function(snapshot) {
        snapshot.forEach(function(childSnapshot) {
          // key will be "ada" the first time and "alan" the second time
          var key = childSnapshot.key;
          // childData will be the actual contents of the child
          var childData = childSnapshot.val();

          alert(key); // also tried the (key.value); as well
          return true;

      })
)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню