dart:async
库中Stream.reduce
方法的用法介绍如下。
用法:
Future<T> reduce(
T combine(
T previous,
T element
)
)
通过重复应用 combine
组合一系列值。
与 Iterable.reduce 类似,此函数维护一个值,从该流的第一个元素开始,并针对该流的每个其他元素进行更新。对于第一个元素之后的每个元素,值都会更新为使用前一个值和元素调用combine
的结果。
当这个流完成时,返回的未来会以当时的值完成。
如果此流为空,则返回的 future 以错误完成。如果此流发出错误,或对combine
的调用抛出,则返回的future 以该错误完成,并停止处理。
例子:
final result = await Stream.fromIterable([2, 6, 10, 8, 2])
.reduce((previous, element) => previous + element);
print(result); // 28
相关用法
- Dart Stream.fromFutures用法及代码示例
- Dart Stream.fold用法及代码示例
- Dart Stream.map用法及代码示例
- Dart Stream.asBroadcastStream用法及代码示例
- Dart Stream.handleError用法及代码示例
- Dart Stream.where用法及代码示例
- Dart Stream.join用法及代码示例
- Dart Stream.error用法及代码示例
- Dart Stream.periodic用法及代码示例
- Dart Stream.take用法及代码示例
- Dart Stream.every用法及代码示例
- Dart Stream.lastWhere用法及代码示例
- Dart Stream.contains用法及代码示例
- Dart Stream.eventTransformed用法及代码示例
- Dart Stream.firstWhere用法及代码示例
- Dart Stream.drain用法及代码示例
- Dart Stream.empty用法及代码示例
- Dart Stream.multi用法及代码示例
- Dart Stream.distinct用法及代码示例
- Dart Stream.timeout用法及代码示例
- Dart Stream.transform用法及代码示例
- Dart Stream.singleWhere用法及代码示例
- Dart Stream.fromFuture用法及代码示例
- Dart Stream.skipWhile用法及代码示例
- Dart Stream.skip用法及代码示例
注:本文由纯净天空筛选整理自dart.dev大神的英文原创作品 reduce method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。