2017-02-16 77 views
0

我在玩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方法,所以它不是一個承諾或一個可觀察的。

我得到了什麼,我能做些什麼才能真正獲得我要求的用戶?

回答

2

什麼是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