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

async и await в Dart

Оператор await читает готовое значение из Future. Его можно писать только внутри функции, помеченной async - иначе компилятор не разрешит такую запись.

Точку входа main для учебных примеров тоже делают async, чтобы внутри вызвать await. После загрузки строки ее выводят через print:

Future<String> load() async { return "note"; } void main() async { var text = await load(); print(text); }

Пока load() не завершится, main не перейдет к print. Снаружи программы очередь событий может обслуживать другие колбэки, но порядок строк в этой async функции сохраняется.

Несколько await подряд задают цепочку шагов: каждый следующий ждет предыдущий:

Future<String> first() async => "co"; Future<String> second() async => "de"; void main() async { var partA = await first(); var partB = await second(); print(partA + partB); }

Объявите async-функцию load(), которая возвращает "ok". В main с async получите строку через await и выведите ее.

Сделайте Future<Employee> fetch() с полем name "Kim". В main дождитесь сотрудника и напечатайте name.

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