РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
487 of 723 menu

Метод asStream

Метод asStream класса Future создает и возвращает поток Stream, который будет содержать результат выполнения исходного Future. Если исходный Future завершится успешно, поток испустит одно значение с результатом и закроется. Если же Future завершится с ошибкой, поток испустит событие ошибки. Метод не принимает параметров.

Синтаксис

future.asStream()

Пример

Давайте создадим Future, который возвращает строку, и преобразуем его в поток с помощью метода asStream. Затем подпишемся на этот поток и выведем полученные данные:

void main() { Future<String> future = Future.value('abcde'); Stream<String> stream = future.asStream(); stream.listen((value) { print(value); }); }

Результат выполнения кода:

"abcde"

Пример

Давайте рассмотрим пример, где исходный Future завершается с ошибкой. В этом случае поток также сгенерирует ошибку, которую можно обработать в методе listen:

void main() { Future<int> future = Future.error('Error occurred'); Stream<int> stream = future.asStream(); stream.listen( (value) => print(value), onError: (error) => print(error) ); }

Результат выполнения кода:

"Error occurred"

Смотрите также

  • класс Future,
    который представляет результат асинхронной операции
  • метод then,
    который позволяет обработать успешный результат
  • метод catchError,
    который позволяет обработать ошибку
  • метод whenComplete,
    который выполняет код после завершения Future
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить