我已经开始使用 Kotlin Flow。现在我正在努力从一个列表中映射元素,由 api 返回,一个一个地映射。是否有可用的运算符来执行类似 RxJava 的 flatMapIterable
的操作? ?
例如,当 Flow 有一个 ArrayList<T>
,然后我想对该列表的每个元素进行操作,并将其作为一个新的 Flow。
最佳答案
您可以使用 flatMapMerge
运算符以达到预期的结果。您可以转换 Flow<List<T>>
至 Flow<T>
这样:
yourFlow.
flatMapMerge { it.asFlow() }
这样您就可以使用默认的 Flow 运算符进一步处理来自初始列表的每个元素的流。
这是文档:flatMapMerge
关于android - 有 Flow 版本的 flatMapIterable 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60799767/