Spec-Zone.ru › Dart 2

dart:async

Класс FutureOr<T>

Тип, представляющий значения, являющиеся либо Future<T> либо T.

Это объявление класса — публичный псевдоним для внутреннего обобщенного типа future-or-value, который не является типом класса. Ссылки на этот класс разрешаются во внутренний тип.

Для любого класса является ошибкой компиляции наследование, смешивание или реализация FutureOr.

Примеры

// The `Future<T>.then` function takes a callback [f] that returns either
// an `S` or a `Future<S>`.
Future<S> then<S>(FutureOr<S> f(T x), ...);

// `Completer<T>.complete` takes either a `T` or `Future<T>`.
void complete(FutureOr<T> value);

Расширенно

Тип FutureOr<int> на самом деле представляет собой «объединение типов» типов int и Future<int>. Это объединение типов определено таким образом, что FutureOr<Object> является как супертипом, так и подтипом Object (подтипом, потому что Object является одним из типов объединения, супертипом, потому что Object является супертипом обоих типов объединения). Вместе это означает, что FutureOr<Object> эквивалентно Object.

Следствием этого является, что FutureOr<Object> эквивалентно FutureOr<FutureOr<Object>>, FutureOr<Future<Object>> эквивалентно Future<Object>.

Свойства

hashCode → int
только для чтения, унаследованное
Код хэширования этого объекта.
runtimeType → Type
только для чтения, унаследованное
Представление runtime типа объекта.

Методы

noSuchMethod(Invocation invocation) → dynamic
унаследованное
Вызывается при обращении к несуществующему методу или свойству.
toString() → String
унаследованное
Строковое представление этого объекта.

Операторы

operator ==(Object other) → bool
унаследованное
Оператор равенства.

© 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/FutureOr-class.html

Spec-Zone.ru

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