Firebase承诺返回无意义的对象

时间:2017-02-16 08:52:10

标签: firebase promise firebase-realtime-database response

我正在使用不同的方式使用Firebase(承诺)和Angularfire(可观察对象)。我注意到当我使用Firebase运行查询时,promise会返回一个无意义的对象。

payment_success

输出类似于:

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

你可以深入研究这个对象,但由于没有任何一个键被标记为可理解的数据,如数据'或者'回复'很难1)追踪我的数据可能在哪里,或者2)甚至在文档中查找我得到的对象和原因。我所知道的是,它没有。然后或者订阅方法,所以它不是一个承诺或一个可观察的。

我得到了什么,我能做些什么来真正吸引我要求的用户?

1 个答案:

答案 0 :(得分: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);
});