收集 stateFlow 列表
Collect list of stateFLow
我有一个整数状态流列表。
listOfFlows : List<StateFlow<Int>>
我需要一个单一的状态流,它将是列表状态流的总和。
sum: StateFlow<Int>
我该怎么做?
您可以使用 combine 创建一个流,每当其中一个流发出时,它会发出源流所有当前值的总和:
val sumFlow = combine(stateFlows) { it.sum() }
如果你真的需要 StateFlow
作为结果,你可以使用 stateIn
:
val sumFlow = combine(stateFlows) { it.sum() }
val sumStateFlow = sumFlow.stateIn(someScope)
我有一个整数状态流列表。
listOfFlows : List<StateFlow<Int>>
我需要一个单一的状态流,它将是列表状态流的总和。
sum: StateFlow<Int>
我该怎么做?
您可以使用 combine 创建一个流,每当其中一个流发出时,它会发出源流所有当前值的总和:
val sumFlow = combine(stateFlows) { it.sum() }
如果你真的需要 StateFlow
作为结果,你可以使用 stateIn
:
val sumFlow = combine(stateFlows) { it.sum() }
val sumStateFlow = sumFlow.stateIn(someScope)