当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Dart Future.any用法及代码示例


dart:async 库中Future.any 方法的用法介绍如下。

用法:

Future<T> any<T>(
   Iterable<Future<T>> futures   
)

返回 futures 中第一个未来的结果以完成。

返回的future 以futures 中第一个future 的结果完成,以报告它是完整的,无论是带有值还是错误。所有其他期货的结果都被丢弃。

如果futures 为空,或者如果没有一个future 完成,则返回的future 永远不会完成。

例子:

void main() async {
  final result =
      await Future.any([slowInt(), delayedString(), fastInt()]);
  // The future of fastInt completes first, others are ignored.
  print(result); // 3
}
Future<int> slowInt() async {
  await Future.delayed(const Duration(seconds: 2));
  return 2;
}

Future<String> delayedString() async {
  await Future.delayed(const Duration(seconds: 2));
  throw TimeoutException('Time has passed');
}

Future<int> fastInt() async {
  await Future.delayed(const Duration(seconds: 1));
  return 3;
}

相关用法


注:本文由纯净天空筛选整理自dart.dev大神的英文原创作品 any<T> method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。