listen<T> method

  1. @protected
StreamSubscription listen<T>(
  1. Stream<T> stream,
  2. void onData(
    1. T
    ), {
  3. String? subscriptionName,
  4. void onError(
    1. dynamic,
    2. 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;
}