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