Конструктор empty
Конструктор empty класса Stream создает
поток, который не отправляет ни одного события данных
и сразу же завершается. Такой поток полезен, когда
нужно вернуть пустой результат в функции, которая
обязана вернуть Stream. Конструктор не принимает
никаких параметров.
Синтаксис
Stream.empty()
Пример
Давайте создадим пустой поток и подпишемся на него, чтобы убедиться, что он не отправляет данных, а сразу вызывает обработчик завершения:
void main()
{
Stream stream = Stream.empty();
stream.listen(
(value) {
print('Data: $value');
},
onDone: () {
print('Done');
}
);
}
Результат выполнения кода:
"Done"
Пример
Давайте проверим, что пустой поток не содержит
элементов, с помощью свойства isEmpty:
void main()
{
Stream stream = Stream.empty();
stream.isEmpty.then((res) {
print(res);
});
}
Результат выполнения кода:
true
Пример
Давайте преобразуем пустой поток с помощью метода
map и убедимся, что преобразование
не создает новых событий:
void main()
{
Stream stream = Stream.empty();
Stream mapped = stream.map((value) => value * 2);
mapped.listen(
(value) {
print(value);
},
onDone: () {
print('Done');
}
);
}
Результат выполнения кода:
"Done"