如何将Flow<List<Flow<List<T>>>>转换为Flow<List<List<T>>>?

问题描述 投票:0回答:0

考虑以下,

val tabs: MutableStateFlow<List<Path>> = getFlowPaths() // user defined

//A function Path.contents(glob: String = "*"): Flow<List<Path>>

val tabsFlow: Flow<List<Flow<List<Path>>>> = tabs.transformLatest {
        emit(it.map { path ->
            path.contents()
        })
    }
//But I want tabsFlow to be Flow<List<List<Path>>>, is it possible to get it?

我所期待的, 只有一个 single 流包裹在整个东西外面而不是有更多的内部流(内部流内容的变化应该只是简单地改变外部流的内容)。

list kotlin kotlin-coroutines coroutine kotlin-flow
© www.soinside.com 2019 - 2024. All rights reserved.