runningReduce

abstract fun runningReduce(operation: (CoroutineScope, accumulator: T, value: T) -> Deferred<T>): Flow<T>

runningFold 类似,但使用流的第一个元素作为初始累积值。

例如: flowOf(1, 2, 3, 4).runningReduce { acc, value -> acc + value } 将会发出 1, 3, 6, 10

Return

一个发出每个中间累积结果的新 Flow。

Parameters

operation

一个函数,接收当前的累积值和新的元素,并返回一个新的累积值的 Deferred