Firebase: разница между данными, полученными с помощью firebase.db (). Ref ('myRef') и firebase.db.ref ('myRef'). Once ('value', обратный вызов) - PullRequest
0 голосов
/ 19 октября 2019

Какая разница между данными, полученными от прямого вызова ссылки, как в:

console.log(firebase.db().ref('categories'))

и данными, полученными через dataSnapShot в событии значения, как в:

firebase.db().ref('categories').once('value', snapShot => {
       console.log(snapShot)
})

Когда я проверял значение свойства key одинаково в обоих методах доступа к данным,

console.log(firebase.db().ref('categories').key)

возвращает тот же ключ, который был возвращен в следующем:

firebase.db().ref('categories').once('value', snapShot => {
       console.log(snapShot.key)
})

Спасибо

1 Ответ

1 голос
/ 19 октября 2019

firebase.db().ref('categories') - это просто ссылка на точку «категории» в вашей базе данных.

Она не содержит данных, хранящихся в базе данных. Создание таких объектов вообще не требует какого-либо обмена данными с базой данных.

https://firebase.google.com/docs/reference/js/firebase.database.Reference

Выполнение once('value', callback) для ссылки инициирует обмен данными. Фактические данные из указанной точки передаются в callback как «моментальный снимок данных».

https://firebase.google.com/docs/reference/js/firebase.database.DataSnapshot

И References, и DataSnapshots имеют свойство key: ссылка знаетгде он указывает, и DataSnapshot знает, откуда он взялся.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...