Конструктор фабрики Future.delayed
Future.delayed(Создаёт отложенную задачу, которая выполнит своё вычисление после задержки.
The computation будет выполнено после истечения заданной duration, и задача завершится результатом. Если время задержки равно 0 или меньше, задача завершится не раньше следующей итерации цикла событий.
Если computation опущено, оно будет считаться как если бы computation было установлено в () => null, и задача в конечном итоге завершится значением null.
Если вызов computation выбросит исключение, созданная задача завершится с ошибкой.
См. также Completer для получения способа создания и завершения задачи в более позднее время, которое не обязательно следует после известной фиксированной задержки.
Исходный код
factory Future.delayed(Duration duration, [FutureOr<T> computation()]) {
_Future<T> result = new _Future<T>();
new Timer(duration, () {
try {
result._complete(computation?.call());
} catch (e, s) {
_completeWithErrorCallback(result, e, s);
}
});
return result;
}
© 2012 the Dart project authors
Licensed under the Creative Commons Attribution-ShareAlike License v4.0.
https://api.dartlang.org/stable/1.24.3/dart-async/Future/Future.delayed.html