Я пытаюсь получить идентификатор пользователя текущего пользователя, вошедшего в систему. Вот как я пытаюсь получить идентификатор пользователя в виде строки, где функции печатают $ userId, а также $ uid.
String userId;
Future<String> getUser() async {
final FirebaseUser user = await FirebaseAuth.instance.currentUser();
final String uid = user.uid.toString();
print("uid in getuser function $uid");
userId = uid;
return uid;
}
И это поток, в который я пытаюсь получить UserID (uid) (и Futures, и Stream находятся в одном классе) (оператор return в Stream можно игнорировать)
// get hotel stream
Stream<List<Hotel>> get userHotels {
print("This is the uid ${getUser().toString()} in Stream");
return ownerCollection.document(uid).collection("hotels").snapshots()
.map(_hotelListFromSnapshot);
}
Печать $ getUser (). ToString () выдает это в консоли: «Это экземпляр uid« Future »в Stream», а не печатает фактический UserID.
И печать $ userId дает это в консоль: «Это нулевой uid в Stream»
Пожалуйста, помогите, я хочу получить UserId текущего пользователя, подписанного в Stream