useStreamSubscription<T> method

StreamSubscription<T> useStreamSubscription<T>(
  1. Stream<T> stream, {
  2. required ValueChanged<T> onData,
  3. Function? onError,
  4. VoidCallback? onDone,
  5. bool? cancelOnError,
})

Creates and automatically cancels a StreamSubscription.

Implementation

StreamSubscription<T> useStreamSubscription<T>(
  Stream<T> stream, {
  required ValueChanged<T> onData,
  Function? onError,
  VoidCallback? onDone,
  bool? cancelOnError,
}) {
  final state = stateOf(
    () => stream.listen(
      onData,
      onError: onError,
      onDone: onDone,
      cancelOnError: cancelOnError,
    ),
    key: ObjectKey(stream),
    mode: .read,
    onDispose: (e) => e.cancel(),
  );

  return state.value;
}