Вот 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.У вас есть предложение по этому поводу?