@leham1

Почему данные firebase повторно выводятся в консоли?

Здравствуйте. Я делаю приложение на react native и использую базу данных firebase.

Проблема: я сначала вызываю функцию get_data_DB несколько раз (к примеру 5 раз) и это работает нормально, получаю то что хочу. Но после этого я вызываю функцию updateDB (для установки нового значения в базу данных firebase), а вот она работает странно - выводит в консоль мне значение из базы данных несколько раз подряд (столько сколько я раз вызвал функцию get_dataDB). Но дело в том что в функции updateDB я вообще не вызываю console.log(), тем более несколько раз.

// получение данных из firebase база данных в реальном времени
    const get_data_DB = () => {
        const database = firebase.database().ref('1').on('value', (snapshot) => {
          const highscore = snapshot.val().field1;
          console.log(highscore);
        })
      }

    // установить новые данные в firebase база данных в реальном времени
    function updateDB(userID, fieldValue1, fieldValue2) {
      firebase.database().ref(userID).set({
        field1: fieldValue1,
        field2: fieldValue2,
      });
    }
  • Вопрос задан
  • 109 просмотров
Пригласить эксперта
Ответы на вопрос 1
t-alexashka
@t-alexashka
Сразу пишу legacy код
я в этих firebase не разбираюсь, и могу только предположить:

1. вы своими вызовами get_data_DB (5 раз) создаете слушателей событий. каждый запуск - уникальный слушатель.
2. вызов updateDB вставляет данные и генерирует событие обновления (на которые у вас уже 5 слушателей). и все они показывают в консоль, т.к. вы сами это написали в слушателе.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы