StreamBuilder InitialData и управление потоком
Вот BLoc, который имеет мой BehaviorSubject и геттеры для потока и последнего значения потока.
Stream<User> get currentUser => _currentUserSubject.stream;
User get currentUserValue => _currentUserSubject.stream.value;
final _currentUserSubject = BehaviorSubject<User>();
Вот StreamBuilder, который использует эти currentUser в качестве источника потока и currentUserValue в качестве initialData:
StreamBuilder<User>(
initialData: _loginAuthBloc.currentUserValue,
stream: _loginAuthBloc.currentUser,
...)
Я уверен, что currentUser имеет последнее значение, когда открывается страница, которая возвращает этот StreamBuilder. Но поскольку у него есть некоторая продолжительность ожидания, прежде чем этот поток будет подписан и будет возвращено последнее значение, я установил initialData с помощью currentUserValue, чтобы убедиться, что мы пропускаем эту ожидающую часть. Все идет нормально. Но дело в том, что я хочу игнорировать значение, которое приходит после того, как поток подписан, и после ожидания также поступает последнее значение этого потока, и оно совпадает со значением initialData. У вас есть предложение по этому поводу?