當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。