1

我有一个整数状态流列表。

listOfFlows : List<StateFlow<Int>> 

我需要一个单一的状态流,它是列表状态流的总和。

sum: StateFlow<Int>

我怎么能这样做?

4

1 回答 1

1

您可以使用combine来创建一个流,该流在每次其中一个发出时发出源流的所有当前值的总和:

val sumFlow = combine(stateFlows) { it.sum() }

如果你真的需要StateFlowa 结果,你可以使用stateIn

val sumFlow = combine(stateFlows) { it.sum() }
val sumStateFlow = sumFlow.stateIn(someScope)
于 2022-02-20T14:33:12.627 回答