asyncExpand<E> method

  1. @override
Stream<E> asyncExpand<E>(
  1. Stream<E>? convert(
    1. List<int>
    )?
)
override

Transforms each element into a sequence of asynchronous events.

Returns a new stream and for each event of this stream, do the following:

  • If the event is an error event or a done event, it is emitted directly by the returned stream.
  • Otherwise it is an element. Then the convert function is called with the element as argument to produce a convert-stream for the element.
  • If that call throws, the error is emitted on the returned stream.
  • If the call returns null, no further action is taken for the elements.
  • Otherwise, this stream is paused and convert-stream is listened to. Every data and error event of the convert-stream is emitted on the returned stream in the order it is produced. When the convert-stream ends, this stream is resumed.

The returned stream is a broadcast stream if this stream is.

Implementation

@override
_i4.Stream<E> asyncExpand<E>(_i4.Stream<E>? Function(List<int>)? convert) =>
    (super.noSuchMethod(
      Invocation.method(
        #asyncExpand,
        [convert],
      ),
      returnValue: _i4.Stream<E>.empty(),
    ) as _i4.Stream<E>);