fromCallable<T> static method Null safety

Stream<T> fromCallable<T>(
  1. FutureOr<T> callable(
    1. {bool reusable = false}

    Returns a Stream that, when listening to it, calls a function you specify and then emits the value returned from that function.

    If result from invoking callable function:

    • Is a Future: when the future completes, this stream will fire one event, either data or error, and then close with a done-event.
    • Is a T: this stream emits a single data event and then completes with a done event.

    By default, a FromCallableStream is a single-subscription Stream. However, it's possible to make them reusable. This Stream is effectively equivalent to one created by (() async* { yield await callable() }()) or (() async* { yield callable(); }()).

    ReactiveX doc


    Rx.fromCallable(() => 'Value').listen(print); // prints Value
    Rx.fromCallable(() async {
      await Future<void>.delayed(const Duration(seconds: 1));
      return 'Value';
    }).listen(print); // prints Value


    static Stream<T> fromCallable<T>(FutureOr<T> Function() callable,
            {bool reusable = false}) =>
        FromCallableStream(callable, reusable: reusable);