Sobes.tech
Back to questions
Junior — Middle
127

Можете объяснить, что из себя представляют корутины и как они работают в программировании?

Companies where asked
Pashapay

Answer from AI

sobes.tech AI

Корутины — это специальные функции, которые могут приостанавливать своё выполнение и позже возобновлять его, позволяя эффективно работать с асинхронными операциями и не блокировать основной поток.

В Flutter (Dart) корутины реализуются через async/await и Future. Когда функция помечена как async, она возвращает Future и может использовать await для ожидания результата асинхронной операции без блокировки.

Пример:

Future<void> fetchData() async {
  print('Начинаем загрузку');
  await Future.delayed(Duration(seconds: 2)); // имитация задержки
  print('Данные загружены');
}

void main() {
  fetchData();
  print('Функция вызвана');
}

Вывод будет:

Начинаем загрузку
Функция вызвана
Данные загружены

Это показывает, что выполнение не блокируется во время ожидания, а корутина приостанавливается и возобновляется позже.