Returns a multi-subscription stream that produces the same events as this.
The returned stream will subscribe to this stream when its first subscriber is added, and will stay subscribed until this stream ends, or a callback cancels the subscription.
If onListen
is provided, it is called with a subscription-like object that represents the underlying subscription to this stream. It is possible to pause, resume or cancel the subscription during the call to onListen
. It is not possible to change the event handlers, including using StreamSubscription.asFuture.
If onCancel
is provided, it is called in a similar way to onListen
when the returned stream stops having listener. If it later gets a new listener, the onListen
function is called again.
Use the callbacks, for example, for pausing the underlying subscription while having no subscribers to prevent losing events, or canceling the subscription when there are no listeners.
Stream<T> asBroadcastStream( {void onListen(StreamSubscription<T> subscription), void onCancel(StreamSubscription<T> subscription)}) { return new _AsBroadcastStream<T>(this, onListen, onCancel); }
© 2012 the Dart project authors
Licensed under the Creative Commons Attribution-ShareAlike License v4.0.
https://api.dartlang.org/stable/2.0.0/dart-async/Stream/asBroadcastStream.html