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