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


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