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


Dart Stream.reduce用法及代码示例


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