Firebase .then с .on ('значение')

Я пытаюсь получить.then() работать с.on() но это работает только с.once().

я получилplayersRef.on(...).then is not a functionпри попытке сon()

Итак, что я имею сейчас:

   let nodesRef = Firebase.database().ref('players')
   let answers = {}
   playersRef.on('value', (playersSnapshot) => {
      playersRef.once('value').then((playersSnapshot) => {
        playersSnapshot.forEach((playerSnapshot) => {
          let playerKey = playerSnapshot.key
          let answersRef = playerSnapshot.child('answers')
          if (answersRef .exists()){
            answers[playerKey ] = answersRef .val()
          }
        })
      }).then(() => {
        console.info(answers);
        dispatch(setPlayerAnswers(answers))
      })
    })

Но мне не нравится тот факт, что он дважды запрашивает реф.

Как бы я получитьeach Ответ игрока в этом примере? Что было бы болееправильный путь? Потому что я не думаю, что разработчики Firebase так задумывали это.

И какова причина того, что это не реализовано для.on()? Так какplayersSnapshot.forEach(...).then это тоже не функция ... Как мне что-то выполнитьтолько однажды всякий раз, когда.on('value') триггеры?

Ответы на вопрос(1)

Ваш ответ на вопрос