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

Конструктор sync

Конструктор sync класса Future создает Future, который уже завершен значением или ошибкой. В первый параметр мы передаем функцию, которая выполняется синхронно и возвращает значение или выбрасывает исключение. Второй необязательный параметр принимает объект для трассировки стека. Если функция выбрасывает исключение, Future завершается с ошибкой, иначе - с результатом.

Синтаксис

Future.sync(computation, [stackTrace])

Пример

Давайте создадим Future, который синхронно возвращает число 5:

void main() { Future<int> res = Future.sync(() { return 5; }); res.then((value) { print(value); }); }

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

5

Пример

Давайте создадим Future, который синхронно выбрасывает исключение:

void main() { Future<int> res = Future.sync(() { throw Exception('error'); }); res.catchError((error) { print('Caught: $error'); }); }

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

"Caught: Exception: error"

Пример

Давайте создадим Future, который синхронно возвращает строку и выведем ее длину:

void main() { Future<String> res = Future.sync(() { return 'abcde'; }); res.then((value) { print(value.length); }); }

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

5

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

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