Spec-Zone.ru › Dart 2

dart:async

метод where

Stream<T> where(
  1. bool test(
    1. T event
    )
)

Создает новый поток на основе этого потока, отбрасывая некоторые элементы.

Новый поток отправляет те же события ошибок и завершения, что и этот поток, но отправляет только события данных, удовлетворяющие test.

Если функция test выбрасывает исключение, событие данных отбрасывается, а ошибка отправляется вместо этого в возвращаемый поток.

Возвращаемый поток является широковещательным, если этот поток является широковещательным. Если широковещательный поток прослушивается более одного раза, каждая подписка отдельно выполняет test.

Пример:

final stream =
    Stream<int>.periodic(const Duration(seconds: 1), (count) => count)
        .take(10);

final customStream = stream.where((event) => event > 3 && event <= 6);
customStream.listen(print); // Outputs event values: 4,5,6.

Реализация

Stream<T> where(bool test(T event)) {
  return new _WhereStream<T>(this, test);
}

© 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/where.html

Spec-Zone.ru

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