直接调用ref收到的数据之间的区别是什么?
console.log(firebase.db().ref('categories'))
相对于在value事件中通过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)
})
谢谢
答案 0 :(得分:1)
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
引用和DataSnapshots都具有key
属性:引用知道其指向的位置,DataSnapshot知道其来自何处。