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')
триггеры?