Получение нулевого значения от childSnapshot.key - PullRequest
0 голосов
/ 07 марта 2019

Вот так выглядит моя база данных:

 -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);

Но каждый раз, когда я получаю 'null' в console.log Что я делаю не так?

1 Ответ

1 голос
/ 07 марта 2019

Запрос является асинхронным и возвращает обещание, которое разрешается через некоторое время.Ваше сообщение журнала выполняется до завершения этого запроса.Вы можете использовать результаты запроса только после того, как обещание разрешено и ваш then() обратный вызов вызван.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...