Spec-Zone.ru › Dart 2

dart:async

Метод skipWhile

Stream<T> skipWhile(
  1. bool test(
    1. T элемент
    )
)

Пропускает события данных из этого потока, пока они соответствуют 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.18.5/dart-async/Stream/skipWhile.html

Spec-Zone.ru

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