У меня проблемы с поиском способа заставить мой код ждать завершения функции, прежде чем продолжить. Причина этого в том, что мне нужна функция, чтобы сначала извлечь текущего пользователя из firebase, а затем перейти к использованию этого значения и решить, какой экран показывать дальше.
Способ, которым я собираюсь работать для кода заключается в проверке того, существует ли уже пользователь, выполнивший вход. Если есть, тогда выполните еще одну проверку, чтобы увидеть, существует ли информация для этого пользователя - если это так, то возвращает домашний экран и не возвращает ли экран информации о пользователе. Если в данный момент не зарегистрировано ни одного пользователя, должен появиться экран «Аутентификация».
class SignedInState extends StatelessWidget {
@override
Widget build(BuildContext context) {
final user = _getCurrentUser();
if (user == null) {
return Authenticate();
} else {
final snapShot = checkifDocumentExists(user);
if (snapShot == null) {
return UserInformation();
} else {
return Home();
}
}
}
}
Future _getCurrentUser() async {
final user = await FirebaseAuth.instance.currentUser();
print(user);
print(user.toString());
return user;
}
Это моя первая публикация здесь, так что просто дайте мне знать, если вам нужна дополнительная информация и т.д. c.