Я делаю приложение Flutter, в котором использую Firebase Auth и Cloud Firestore. Для каждого пользователя у меня есть обучающий документ с пользовательским uid в качестве идентификатора документа. Когда я обновляю данные своих тренеров, я хочу убедиться, что можно изменить только документ текущего пользователя, вошедшего в систему.
У меня есть класс AuthService со следующим методом для получения текущего пользователя:
Stream<FirebaseUser> get user {
return _auth.onAuthStateChanged;
}
Итак, когда я хочу изменить обучающий документ в моем классе DatabaseService, я хочу получить текущее значение потока, чтобы получить идентификатор пользователя. Я не думаю, что могу использовать StreamBuilder или Provider, так как это не дерево виджетов, а простой класс Dart. Однако я не думаю, что могу использовать .listen (), так как я хочу получить только текущее значение Stream, а не все из них.
Как мне получить текущее значение Dart Stream?