Так что мне нужно получить данные с заданным идентификатором из коллекции Firebase. Моя функция затем должна вернуть его (документ) и в моем тесте она должна распечатать (как «результат»). По какой-то причине мой тест печатает «undefined», но моя функция (getIteration (id)) выводит именно то, что мне нужно для возврата (в console.log над return). Почему он возвращает неопределенное значение, но при том же самом c .data () печатает именно то, что мне нужно?
Вот мой код:
//gets the iteration with the given id
async function getIteration(id) {
fb.db.collection('iteration').where('id', '==', id).get().then(snapshot => {
snapshot.forEach(doc => {
console.log(doc.data())
return doc.data();
})
})
}
и мой тест:
firebase.getIteration(fbIterationID).then(function(result){
console.log('LOGGING FB ITERATION DOCUMENT WITH THE ID OF: ' + fbIterationID)
console.log(result)
})