Firebase承诺返回废话对象

问题描述:

我在玩Firebase(Promises)和Angularfire(observable)的不同方式。我注意到,当我使用Firebase运行查询时,该promise会返回一个无意义的对象。Firebase承诺返回废话对象

userRef = firebase.database().ref('/users') 
       .equalTo(member.email, 'email') 
       .once('value'); 
userRef.then(res => console.log(res)); 

输出是一样的东西:

W {A: P, U: V, g: $d}. 

可以挖下来到该对象,但由于没有按键被标记为任何理解像“数据”或“响应”很难1)追踪我的数据可能位于何处,或者2)甚至在文档中查找我得到的是什么类型的对象以及为什么。我所知道的是它没有.then或.subscribe方法,所以它不是一个承诺或一个可观察的。

我得到了什么,我能做些什么才能真正获得我要求的用户?

什么是firebase承诺返回的是snapshot。您需要拨打val()以获得您想要的值。

official blog post

ref.child('blogposts').child(id).once('value').then(function(snapshot) { 
    // The Promise was "fulfilled" (it succeeded). 
    renderBlog(snapshot.val()); 
}, function(error) { 
    // The Promise was rejected. 
    console.error(error); 
}); 
+0

我会说是的,就是这样,但我知道,查询返回的条目(我以前运行),并对该对象VAL返回null。所以我想知道它实际上是一些格式不正确的错误。 – ansorensen