Конструктор delayed
Конструктор delayed класса Future создает
объект Future, который будет завершен через
заданный промежуток времени. В первый параметр
мы передаем длительность задержки в виде объекта
Duration, во второй необязательный параметр -
функцию обратного вызова, которая выполнится
при завершении Future. Если функция возвращает
значение, оно станет результатом Future.
Синтаксис
Future.delayed(duration, [computation])
Пример
Давайте создадим Future, который завершится через две секунды и вернет строку:
void main()
{
Future.delayed(Duration(seconds: 2), () {
return 'abcde';
}).then((value) {
print(value);
});
}
Результат выполнения кода:
"abcde"
Пример
Давайте создадим Future без функции обратного
вызова и дождемся его завершения через
await:
void main() async
{
await Future.delayed(Duration(seconds: 1));
print('done');
}
Результат выполнения кода:
"done"
Пример
Давайте передадим в Future.delayed функцию,
возвращающую число, и получим его результат
через then:
void main()
{
Future.delayed(Duration(milliseconds: 500), () {
return 12345;
}).then((value) {
print(value);
});
}
Результат выполнения кода:
12345