我在我的项目中使用 RxJava3,但我无法编写请求,我已经绞尽脑汁好几个小时了。
我有 List<Stream> 并且有一个通过 Stream 返回 Single<List<Topic>> 的函数,我想得到一个 Single<Map<Stream, List<Topic>>>,
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 })
}