У меня есть хранилище, которое содержит широковещательный поток
Stream<List<DeliveryModel>> get deliveriesStream {
this._getDeliveries();
return this._controller.stream.asBroadcastStream();
}
и у меня есть два подписчика, как только я начинаю слушать вручную,
var stream = this._deliveryRepo.deliveriesStream;
deliveriesSubscription = stream.listen((deliveries) {
// to do something
});
и один раз через StreamBuilder
@override
void initState() {
super.initState();
this.stream = this.widget.deliveriesFetcher.getDeliveriesStream();
}
@override
Widget build(BuildContext context) {
return StreamBuilder(
stream: this.stream,
builder: (context, snapshot) {
// do something
});
}
где
@override
Stream<List<DeliveryModel>> getDeliveriesStream() {
return this._deliveryRepo.deliveriesStream;
}
Если я правильно понял, я подписываюсь на широковещательный поток дважды, поэтому все должно быть хорошо, но когда я пытаюсь подписаться на поток для во второй раз (через StreamBuilder ) выдается исключение: Плохое состояние: поток уже прослушан. Есть предложения?