表示既可以是Future<T>
也可以是T
的值的类型。
此类声明是对内部未来或值泛型类型的公共代理,该泛型类型不是一个类类型。对此类的引用将解析为内部类型。
不允许任何类扩展、混合或实现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 - 相等操作符。继承