在获取数据时重建streambuilder rxdart

时间:2020-07-18 17:40:51

标签: flutter dart rxdart

我正在通过以下方式从事件存储库中获取事件。现在,在初始情况下,我不需要进度指示器,因为我正在从snapshot.hasData条件在UI上处理它。在刷新条件下,我想显示进度指示器或小吃栏或基于isBusy条件的某种叠加层,以使用户知道数据正在刷新。我不想使用publishsubject,因为我希望UI在刷新时显示数据。但是streambuilder不会更新,除非更改主题,但此处显然没有更改。而snapshot.connectionState仅返回connectionstate.active。有什么方法可以正确实现以下逻辑?

class EventBloc {
  final EventRepository _repository = EventRepository();
  final BehaviorSubject<EventResponse> _subject =
      BehaviorSubject<EventResponse>();
  bool _isBusy = false;
  getEvents() async {
    _isBusy=true;
    EventResponse response = await _repository.getEvents();
    _subject.sink.add(response);
    _isBusy=false;
  }
  BehaviorSubject<EventResponse> get subject => _subject;
  bool get isBusy => _isBusy;
}

0 个答案:

没有答案