listen<T> method
StreamSubscription
listen<T>(
- Stream<
T> stream, - void onData(
- T
- String? subscriptionName,
- void onError(
- dynamic,
- StackTrace
Implementation
@protected
StreamSubscription listen<T>(
Stream<T> stream,
void Function(T) onData, {
String? subscriptionName,
void Function(dynamic, StackTrace)? onError,
}) {
StreamSubscription sub;
if (stream is ValueStream<T> && stream.hasValue) {
onData(stream.value);
sub = stream.skip(1).listen(
onData,
onError: onError,
);
} else {
sub = stream.listen(
onData,
onError: onError,
);
}
_subscriptions.add(sub);
if (subscriptionName != null) {
_namedSubscriptions[subscriptionName]?.cancel();
_namedSubscriptions[subscriptionName] = sub;
}
return sub;
}