【发布时间】:2019-10-30 12:49:25
【问题描述】:
我有一个通过 RxJava 压缩两个网络请求的代码:
Single.zip(repository.requestDate(), repository.requestTime()) {
date, time -> Result(date, time)
}
表示repository.requestDate()/repository.requestTime()返回Single<T>
如果我想使用协程,我需要将请求更改为:
@GET('link/date')
suspend fun requestDate() : Date
@GET('link/time')
suspend fun requestTime() : Time
但是,如何通过来自 Kotlin Coroutines 的 Flow 压缩请求?
我知道我可以这样做:
coroutineScope {
val date = repository.requestDate()
val time = repository.requestTime()
Result(date, time)
}
但我想通过 Flow 来实现!
我知道 Channels,但 Channels.zip() 已被弃用。
【问题讨论】:
标签: android retrofit kotlin-coroutines