метод take
Stream<T> take(Предоставляет не более первых count событий данных этого потока.
Пересылает все события этого потока в возвращаемый поток до тех пор, пока не будет переслано count событий данных или этот поток не завершится, а затем завершает возвращаемый поток событием done.
Если этот поток генерирует меньше count событий данных, прежде чем завершится, то и возвращаемый поток завершится также.
Начинает прослушивание этого потока, когда возвращаемый поток начинает прослушивание, и прекращает прослушивание, когда получено первых count событий данных.
Это означает, что если это поток с одним подписом (не широковещательный), он не может быть повторно использован после того, как возвращаемый поток начал прослушивание.
Если это широковещательный поток, возвращаемый поток также является широковещательным. В этом случае события учитываются только с момента начала прослушивания возвращаемого потока.
Исходный код
Stream<T> take(int count) {
return new _TakeStream<T>(this, count);
}
© 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/take.html