Spec-Zone.ru › Dart 2

dart:async

Метод skipWhile

Stream<T> skipWhile(
  1. bool test(
    1. T element
    )
)

Пропускает события данных из этого потока, пока они соответствуют test.

Возвращает поток, который выдаёт те же события, что и этот поток, за исключением того, что события данных не выдаются, пока событие данных не перестанет соответствовать test. Проверка завершается неудачей, если при вызове для события данных возвращается значение, не являющееся true, или если вызов test вызывает исключение. Если вызов вызывает исключение, оно выдаётся как событие ошибки в возвращаемом потоке вместо события данных; в противном случае событие, из-за которого test вернуло значение, не равное true, выдаётся как первое событие данных.

События ошибок и завершения передаются возвращаемым потоком без изменений.

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

Пример:

final stream = Stream<int>.periodic(const Duration(seconds: 1), (i) => i)
    .take(10)
    .skipWhile((x) => x < 5);
stream.forEach(print); // Outputs events: 5, ..., 9.

Реализация

Stream<T> skipWhile(bool test(T element)) {
  return new _SkipWhileStream<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/skipWhile.html

Spec-Zone.ru

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