从childSnapshot.key接收null

时间:2019-03-07 20:31:37

标签: javascript react-native firebase-realtime-database react-native-firebase

这是我的数据库的样子:

 -members
 --L_C3OzCYFevhXzT5xk9 (specific key for Chat Room)
 ---user1: 'test@gmail.com'
 ---user2: 'test1@gmail.com'

我正在尝试从Firebase接收此特定密钥并将其设置为状态。这就是我要这样做的方式:

const query = firebase.database().ref('/members').orderByKey().equalTo(email);
     query.once('value')
     .then(function(snapshot) {
       snapshot.forEach(function(childSnapshot) {
         var key = childSnapshot.key;
         this.setState({ChatID: key});
       });
     });
     console.log(this.state.ChatID);

但是每次我在console.log中收到“ null”时 我该怎么办?

1 个答案:

答案 0 :(得分:1)

查询是异步的,并返回一个可以在一段时间后解析的承诺。该查询完成之前,您的日志消息正在执行。您只能在承诺解决且调用then()回调后使用查询结果。