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

Функция unawaited

Функция unawaited из библиотеки dart:async используется для явного указания того, что возвращаемый Future намеренно не ожидается. В первый параметр мы передаём сам объект Future, который не нужно ожидать. Функция не возвращает никакого значения (возвращает void). Это помогает анализатору кода понять, что отсутствие await является осознанным решением, а не ошибкой.

Синтаксис

unawaited(future)

Пример

Давайте вызовем асинхронную функцию без await, явно обернув её в unawaited:

import 'dart:async'; Future<void> fetchData() async { await Future.delayed(Duration(seconds: 1)); print('Data loaded'); } void main() { unawaited(fetchData()); print('Main finished'); }

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

"Main finished" "Data loaded"

Пример

Давайте сравним поведение с await и без него, используя unawaited для намеренного пропуска ожидания:

import 'dart:async'; Future<int> compute() async { await Future.delayed(Duration(seconds: 1)); return 42; } void main() { unawaited(compute()); print('Not waiting'); }

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

"Not waiting"

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

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