Как сохранить данные из облачного пожарного хранилища в переменную во флаттере? - PullRequest
0 голосов
/ 15 апреля 2019

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

Я могу вызвать снимок и распечатать его, но не могу сохранить данные из firebase в переменную.Я предполагаю, что это потому, что во время попытки присвоить значение переменной данные еще не возвращены из firebase.

DocumentSnapshot userObject ;
db.collection('users').where("email", isEqualTo: "jtent@mail.com").snapshots()
   .listen((data) =>data.documents.forEach((doc) => userObject = doc));

print(userObject);

Я ожидал, что пользовательский объект сохранит снимок, полученный из базы данных, но вместо этогоэто ноль.

1 Ответ

0 голосов
/ 15 апреля 2019

Вы должны использовать метод async и ключевое слово await.

 your_async_method () async {

     final documents = await db.collection('users').where("email", isEqualTo: "jtent@mail.com").getDocuments();
     final userObject = documents.documents.first.data;
     print(userObject);
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...