Метод takeWhile
Stream<T> takeWhile(Передает события данных, пока test выполняется успешно.
Возвращаемый поток предоставляет те же события, что и этот поток, до тех пор, пока test возвращает true для данных события. Поток завершается, когда либо этот поток завершается, либо этот поток впервые предоставляет значение, которое test не принимает.
Прекращает прослушивание потока после принятых элементов.
Внутренне метод отменяет свою подписку после этих элементов. Это означает, что потоки с одиночной подпиской (не широковещательные) закрываются и не могут быть повторно использованы после вызова этого метода.
Возвращаемый поток является широковещательным, если таковым является этот поток. Для широковещательного потока события проверяются только с момента прослушивания возвращаемого потока.
Исходный код
Stream<T> takeWhile(bool test(T element)) {
return new _TakeWhileStream<T>(this, test);
}
© 2012 the Dart project authors
Licensed under the Creative Commons Attribution-ShareAlike License v4.0.
https://api.dartlang.org/stable/1.24.3/dart-async/Stream/takeWhile.html