listen method

StreamSubscription<T> listen(
  1. void onData(
    1. T event
    )?, {
  2. Function? onError,
  3. void onDone()?,
  4. bool? cancelOnError,
  5. bool async = false,
})

Implementation

StreamSubscription<T> listen(
  void Function(T event)? onData, {
  Function? onError,
  void Function()? onDone,
  bool? cancelOnError,
  bool async = false,
}) {
  final StreamSubscriptionUnit<T> sub;
  if (async) {
    sub = _StreamSubscriptionAsyncUnit<T>(this, onData,
        onError: onError, onDone: onDone, cancelOnError: cancelOnError);
  } else {
    sub = StreamSubscriptionUnit<T>(this, onData,
        onError: onError, onDone: onDone, cancelOnError: cancelOnError);
  }
  if (_canceled) {
    onListen(sub);
    sub.sendDone();
  } else {
    _onListen(sub);
  }

  return sub;
}