Свойство length
Свойство length класса Stream возвращает
объект Future, который завершается количеством
элементов в потоке. Свойство не принимает параметров.
Если поток завершится с ошибкой, то возвращаемый
Future также завершится с этой ошибкой.
Синтаксис
Stream<T>.length
Пример
Давайте создадим поток из списка и узнаем количество его элементов:
void main()
{
Stream<int> stream = Stream.fromIterable([1, 2, 3, 4, 5]);
stream.length.then((res) {
print(res);
});
}
Результат выполнения кода:
5
Пример
Давайте узнаем количество элементов потока строк:
void main()
{
Stream<String> stream = Stream.fromIterable(['a', 'b', 'c', 'd', 'e']);
stream.length.then((res) {
print(res);
});
}
Результат выполнения кода:
5
Пример
Давайте обработаем ошибку потока при помощи
catchError:
void main()
{
Stream<int> stream = Stream<int>.error('Something went wrong');
stream.length.then((res) {
print(res);
}).catchError((error) {
print(error);
});
}
Результат выполнения кода:
"Something went wrong"