Android rxjava3映射器
我在我的项目中使用RxJava3,但我无法编写请求,我已经绞尽脑汁好几个小时了 我有一个列表,有一个函数,它通过流返回一个,我想得到一个Android rxjava3映射器,android,kotlin,rx-java,rx-java3,Android,Kotlin,Rx Java,Rx Java3,我在我的项目中使用RxJava3,但我无法编写请求,我已经绞尽脑汁好几个小时了 我有一个列表,有一个函数,它通过流返回一个,我想得到一个 fun getMockTopics(streamId:Long):单个{ 返回Single.just(listOf(主题(1)(“”)) } typealias-SteamTopics=Map 覆盖有趣的getTopics(流:列表):单个{ 返回Observable.fromCallable{streams.filterNotNull()}.flatMap
fun getMockTopics(streamId:Long):单个{
返回Single.just(listOf(主题(1)(“”))
}
typealias-SteamTopics=Map
覆盖有趣的getTopics(流:列表):单个{
返回Observable.fromCallable{streams.filterNotNull()}.flatMapIterable{it}
.map{stream->
配对(stream,getMockTopics(streamId=stream.streamId))
}.平面图{
待办事项(“?”)
}
.toMap({it.first},{it.second})
}
有趣的getMockTopics(streamId:Long):可观察{
返回可观察的。just(列表(主题(1)(“”))
}
覆盖有趣的getTopics(流:列表):单个{
返回Observable.fromCallable{streams.filterNotNull()}.flatMapIterable{it}
.flatMap({stream->
getMockTopics(streamId=stream.streamId)
},{流,主题->
配对(流、主题)
}).toMap({it.first},{it.second})
}
这不是java,而是您遇到问题的kotlin?请适当地标记问题
fun getMockTopics(streamId: Long): Single<List<Topic>> {
return Single.just(listOf(Topic(1, "")))
}
typealias SteamTopics = Map<Stream, List<Topic>>
override fun getTopics(streams: List<Stream?>): Single<SteamTopics> {
return Observable.fromCallable { streams.filterNotNull() }.flatMapIterable { it }
.map { stream ->
Pair(stream, getMockTopics(streamId = stream.streamId))
}.flatMap {
TODO("???")
}
.toMap({ it.first }, { it.second })
}
fun getMockTopics(streamId: Long): Observable<List<Topic>> {
return Observable.just(listOf(Topic(1, "")))
}
override fun getTopics(streams: List<Stream?>): Single<SteamTopics> {
return Observable.fromCallable { streams.filterNotNull() }.flatMapIterable { it }
.flatMap({ stream ->
getMockTopics(streamId = stream.streamId)
}, { stream, topics ->
Pair(stream, topics)
}).toMap({ it.first }, { it.second })
}