java - RxJava2 中的 flatMapPublisher 是什么?

标签 java android kotlin rx-java rx-java2

flatMapPublisher 的用途是什么?

return factory.retrieveDiskDataStore().isCached()
                .flatMapPublisher {
                    factory.retrieveDataStore(it).getData(token)
                }
                .flatMap {
                    Flowable.just(if (it is PickupListDataModel) mapper.mapFromData(it) else null)
                }
                .flatMap {
                    saveData(it).toSingle { it }.toFlowable()
                }

在此代码中,factory.retrieveDiskDataStore().isCached() 检查信息是否存储在数据库中。 如果不是,则执行以下代码

.flatMapPublisher {
                    factory.retrieveDataStore(it).getData(token)
                }

最佳答案

来自JavaDocs :

Returns a Flowable that emits items based on applying a specified function to the item emitted by the source Single, where that function returns a Publisher.

flatMapPublisher

换句话说,Single 将成功获得一个值,您希望将该值转换为 Publisher 生成的一系列值(即,一些 FlowableFlux 或其他标准 Reactive Streams 源)并拥有其中的项目。

关于java - RxJava2 中的 flatMapPublisher 是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49399368/

相关文章:

android - 在Android中单击通知时如何打开应用程序?

reflection - 在 Kotlin 中通过反射调用方法的惯用方式

java - 如何将serialClob转换为String格式?

android - 如何在我的应用程序中组织 SQLite 数据库

android - 如何更改android中的闹钟?

java - 将百分比转换为小数?...用于音量控制

java - 如何根据条件对数组的项目进行分组而不返回键?

java - 如何将android volley gson请求解析为对象列表/集合

java - 将日志文件编码到 xml 文件 - Java

java - JAXB 与 Ant : How to make XJCTask respect <depends>