android - 有 Flow 版本的 flatMapIterable 吗?

标签 android kotlin kotlin-flow

我已经开始使用 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/

相关文章:

kotlin - NetBeans 可以运行 Kotlin 吗?

android - 防止导航到同一个 fragment

kotlin - 根据匿名对象访问限制器的实现方法

android - 即使没有变化时的流量发射值

android - 如何使Kotlin流在执行Terminal操作符之前一直等到结束

firebase - 为什么 trySend 会发出假数据?

android - 单击 TextView 超链接时出错

android 在图像中显示文本

java - 如何获取xml节点?

java - 如何在 Android JAVA 中将具有 RGB 颜色的 HTML 字符串转换为具有十六进制颜色的 HTML 字符串