FutureOr<T> class
abstract
A type representing values that are either Future<T> or T.
This class declaration is a public stand-in for an internal future-or-value generic type, which is not a class type. References to this class are resolved to the internal type.
It is a compile-time error for any class to extend, mix in or implement
FutureOr.
Examples
// 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);
Advanced
The FutureOr<int> type is actually the "type union" of the types int and
Future<int>. This type union is defined in such a way that
FutureOr<Object> is both a super- and sub-type of Object (sub-type
because Object is one of the types of the union, super-type because
Object is a super-type of both of the types of the union). Together it
means that FutureOr<Object> is equivalent to Object.
As a corollary, FutureOr<Object> is equivalent to
FutureOr<FutureOr<Object>>, FutureOr<Future<Object>> is equivalent to
Future<Object>.
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited