Свойство isEmpty
Свойство isEmpty класса Stream возвращает
Future<bool>, который завершается значением
true, если поток не испускает ни одного события
данных, и значением false, если поток испускает
хотя бы одно событие. Свойство не принимает параметров.
Проверка начинается в момент подписки на поток, поэтому
для одноразовых потоков (например, созданных из
Future или генератора) свойство можно использовать
только один раз.
Синтаксис
stream.isEmpty
Пример
Давайте проверим пустой поток, созданный с помощью
Stream.empty:
void main() async
{
Stream<int> stream = Stream.empty();
bool res = await stream.isEmpty;
print(res);
}
Результат выполнения кода:
true
Пример
Давайте проверим поток, созданный из списка с несколькими элементами:
void main() async
{
Stream<int> stream = Stream.fromIterable([1, 2, 3, 4, 5]);
bool res = await stream.isEmpty;
print(res);
}
Результат выполнения кода:
false
Пример
Давайте проверим поток, который испускает одно
значение, используя Stream.value:
void main() async
{
Stream<String> stream = Stream.value('abcde');
bool res = await stream.isEmpty;
print(res);
}
Результат выполнения кода:
false
Пример
Давайте проверим поток, в котором все элементы
отфильтрованы с помощью where, и посмотрим,
считается ли такой поток пустым:
void main() async
{
Stream<int> stream = Stream.fromIterable([1, 2, 3, 4, 5]);
Stream<int> filtered = stream.where((int n) => n > 10);
bool res = await filtered.isEmpty;
print(res);
}
Результат выполнения кода:
true