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
только для чтенияунаследовано
Представление типа объекта во время выполнения.

Методы

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.19.6/dart-async/FutureOr-class.html

Spec-Zone.ru

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