这是我的数据库的样子:
-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”时 我该怎么办?
答案 0 :(得分:1)
查询是异步的,并返回一个可以在一段时间后解析的承诺。该查询完成之前,您的日志消息正在执行。您只能在承诺解决且调用then()
回调后使用查询结果。