Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗dtSpAsFt 89 of 224 menu
◀ ▶

Future в Dart

Future<T> описывает значение типа T, которое будет готово позже. Снаружи виден только дескриптор: сам результат появится после завершения работы.

Готовое значение можно вернуть сразу через Future.value - так задают результат без реальной задержки:

Future<String> load() { return Future.value("note"); }

Тот же смысл у функции с телом async: она автоматически оборачивает возвращаемое значение в Future:

Future<String> load() async { return "note"; }

Для своего типа в угловых скобках указывают класс. Например, пост с заголовком можно «отдать» из функции так:

class Post { String title; Post(this.title); } Future<Post> loadPost() async { return Post("draft"); }

Вызов loadPost() сразу дает Future<Post>, а не сам Post. Чтобы прочитать поле, нужен await в async-контексте.

Объявите Future<String>-функцию tag() через Future.value со строкой "io".

Сделайте async-функцию Future<Employee> loadEmployee(), которая возвращает Employee с полем name равным "Ann". Класс Employee объявите с полем String name.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить