initialValue,
dynamic combine(previous, T element)
) dynamic combine(previous, T element)
Reduces a sequence of values by repeatedly applying combine
.
Source
/** Reduces a sequence of values by repeatedly applying [combine]. */
Future fold(var initialValue, combine(var previous, T element)) {
_Future result = new _Future();
var value = initialValue;
StreamSubscription subscription;
subscription = this.listen(
(T element) {
_runUserCode(
() => combine(value, element),
(newValue) { value = newValue; },
_cancelAndErrorClosure(subscription, result)
);
},
onError: (e, st) {
result._completeError(e, st);
},
onDone: () {
result._complete(value);
},
cancelOnError: true);
return result;
}