FutureOr<T>抽象

表示值可以是 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> 类型实际上是类型 intFuture<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
相等运算符。
继承