RxJava2中的flatMapPublisher是什么?

3
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)
                }
1个回答

3
JavaDocs中可以看到,该方法返回一个Flowable,它根据将源Single发出的项目应用于指定函数来发出项目,其中该函数返回一个Publisher
换句话说,Single将成功返回一个值,您希望将其转换为由Publisher(即某些FlowableFlux或其他标准Reactive Streams源)生成的值序列,并具有其中的项目。请参考下图:flatMapPublisher

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接