Класс 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