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

Задачи на async в Dart. Часть 2

Сделайте async-функцию, имитирующую загрузку данных через Future.delayed: через 1 секунду верните строку 'данные загружены'.

Сделайте async-функцию с параметром String name, которая через Future.delayed возвращает приветствие 'Привет, $name'.

Сделайте функцию Stream<int> countTo(int n) async*, которая с помощью async* и yield последовательно отдаёт числа от 1 до n с небольшой задержкой.

// пример вызова: // await for (final value in countTo(5)) { // print(value); // }

Создайте Future<String> со значением 'готово' и преобразуйте его в Stream через asStream(). Подпишитесь на поток и выведите единственное событие.

Создайте Completer<int>. Верните completer.future из функции и завершите его вручную через complete(42) (или completeError) после таймера. Дождитесь результата через await.

Сделайте цепочку из нескольких .then(): начните с Future.value(2), удвойте значение, затем возведите в квадрат и выведите итог.

Создайте Future.delayed на 3 секунды и ограничьте ожидание через .timeout(Duration(seconds: 1)). Обработайте TimeoutException и выведите сообщение о тайм-ауте.

Сравните Future.sync(() => 1) и Future.delayed(Duration.zero, () => 1): выведите оба результата и кратко опишите, когда результат доступен синхронно, а когда — в следующем микротаске.

Сделайте async-функцию с несколькими await: последовательно «загрузите» имя, возраст и город (каждый шаг — Future.delayed) и верните итоговую строку профиля.

Итоговая задача: напишите async-функцию, которая параллельно ждёт два Future через Future.wait, затем преобразует результат в Stream через Stream.fromIterable и выводит элементы через await for.

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