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


Dart Stream.fold用法及代码示例


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.dev大神的英文原创作品 fold<S> method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。