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