метод expand< S>
-
Iterable<
S> convert( - T element
Преобразует каждый элемент этого потока в последовательность элементов.
Возвращает новый поток, в котором каждый элемент этого потока заменяется нулём или несколькими событиями данных. Значения событий предоставляются в виде Iterable вызовом convert с элементом в качестве аргумента, а элементы этого итерируемого объекта выдаются в порядке итерации. Если вызов convert вызывает исключение или при переборе возвращённых значений возникает исключение, ошибка передаётся в возвращённый поток, и для этого элемента потока итерация завершается.
События ошибок и событие завершения этого потока напрямую передаются в возвращённый поток.
Возвращённый поток является широковещательным, если таковым является этот поток. Если на широковещательный поток подписываются более одного раза, каждая подписка отдельно вызывает convert и расширяет события.
Реализация
Stream<S> expand<S>(Iterable<S> convert(T element)) {
return new _ExpandStream<T, S>(this, convert);
}
© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.19.6/dart-async/Stream/expand.html