Spec-Zone.ru › Dart 1

dart:async

Конструктор фабрики Future.delayed

Future.delayed(Duration duration, [ dynamic computation() ])

Создаёт отложенную задачу, которая выполнит своё вычисление после задержки.

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API