runningFold

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

使用给定的初始值 initial 和操作函数 operation 来折叠 Flow,并发出每一个中间的累积结果。

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

Return

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

Parameters

R

累积结果和发出的值的类型。

initial

初始累积值。

operation

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