Как использовать StreamBuilder с Observable?

#dart #rxdart

#dart #rxdart

Вопрос:

Я пытаюсь использовать StreamBuilder для реагирования на несколько потоков. Итак, я создал Observable, который я использую для их объединения:

Observable.merge([stream1, stream2, stream3])

Проблема в том, что я не знаю, как заставить StreamBuilder прослушивать это наблюдаемое. Как мне это сделать?

Ответ №1:

Просто объявите свойство в своем блочном классе:

 Observable<T> get mergedStream => Observable.merge([stream1, stream2, stream3]);
  

А затем используйте это свойство в качестве источника для свойства stream StreamBuilder.

Комментарии:

1. Есть идеи о том, как распорядиться этим наблюдаемым?

2. Обычно Observables находятся в отдельном блочном классе, который должен содержать dispose метод. Затем вы можете позвонить dispose в любое место, которое вам нужно (например. в dispose методе StatefulWidget или как значение dispose параметра Provider класса (требуется плагин поставщика).