Spec-Zone.ru › Dart 2

dart:async

Конструктор Future<T>.value

Future<T>.value(
  1. [FutureOr<T>? value]
)

Создаёт Future, завершённый значением value.

Если value является Future, созданное Future ожидает завершения Future value, а затем завершается тем же результатом. Поскольку Future value может завершиться ошибкой, то и создаваемое с помощью Future.value Future также может завершиться ошибкой, даже если название предполагает обратное.

Если value не является Future, созданное Future завершается значением value значения, эквивалентно new Future<T>.sync(() => value).

Если value опущено или null, оно преобразуется в FutureOr<T> посредством value as FutureOr<T>. Если T не является nullable, то должен быть предоставлен не-null value , в противном случае построение вызовет исключение.

Используйте Completer для создания Future сейчас и завершения его позже.

Пример:

Future<int> getFuture() {
 return Future<int>.value(2021);
}

final result = await getFuture();

Реализация

@pragma("vm:entry-point")
@pragma("vm:prefer-inline")
factory Future.value([FutureOr<T>? value]) {
  return new _Future<T>.immediate(value == null ? value as T : value);
}

© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.18.5/dart-async/Future/Future.value.html

Spec-Zone.ru

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