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.18.5/dart-async/Stream/expand.html

Spec-Zone.ru

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