Название в значительной степени описывает все. Я часто делаю это:
StreamSubscription willDismissPageStreamSubscription;
@override
void initState() {
willDismissPageStreamSubscription?.cancel();
willDismissPageStreamSubscription =
bloc.willDismissPageStream(widget.pageIndex).listen((willDismiss) {});
}
Я слушаю поток в методе, который можно вызывать несколько раз. Если бы я не отменял подписку, она создавала бы новую каждый раз, когда я вызываю initState. Мне интересно, есть ли Stream, который позволяет это, каждый раз, когда создается новая StreamSubscription через вызов listen, старая подписка отменяется:
@override
void initState() {
bloc.willDismissPageStream(widget.pageIndex).listen((willDismiss) {});
}
EDIT: я ищу более или менее Single- Subscription-Stream, но вместо того, чтобы генерировать исключение, он должен отменить последнюю StreamSubscription.
РЕДАКТИРОВАТЬ 2: Если такой поток не существует, как мне его создать?