Спящий режим в Dart: отсрочка выполнения на указанный период времени

Чтобы заснуть в Dart, вы можете использовать функцию Future.delayedили метод Future.delayed, предоставляемый классом Future. Вот несколько методов с примерами кода:

Метод 1: использование функции Future.delayed

import 'dart:async';
void main() {
  print('Before sleep');

  Future.delayed(Duration(seconds: 3)).then((_) {
    print('After sleep');
  });

  print('End of main');
}

Выход:

Before sleep
End of main
After sleep

Метод 2: использование awaitс методом Future.delayed

import 'dart:async';
void main() async {
  print('Before sleep');

  await Future.delayed(Duration(seconds: 3));

  print('After sleep');

  print('End of main');
}

Выход:

Before sleep
After sleep
End of main

В обоих методах мы используем функцию Future.delayed, чтобы ввести задержку. Функция принимает параметр Duration, в котором вы можете указать желаемую продолжительность сна в секундах, миллисекундах, микросекундах и т. д. В методе 1 мы используем then, чтобы указать код, который будет выполняться после окончания сна, тогда как в методе 2 мы используем await, чтобы приостановить выполнение до тех пор, пока время сна не завершится.