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 sourceSingle
, where that function returns aPublisher
.
换句话说,Single
将成功获得一个值,您希望将该值转换为 Publisher
生成的一系列值(即,一些 Flowable
、Flux
或其他标准 Reactive Streams 源)并拥有其中的项目。
关于java - RxJava2 中的 flatMapPublisher 是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49399368/