Spec-Zone.ru › Dart 2

dart:async

метод expand<S>

Stream<S> expand<S>(
  1. Iterable<S> convert(
    1. 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API