我正在开发一个Android应用程序。
我想在UI中显示两个值。 这些值是从API服务器检索的,我正在使用Retrofit来获取它们。
这是我的ApiService界面(改造):
interface ApiService {
@Get
fun getData1(): Observable<String>
@Get
fun getData2(): Observable<String>
}
以下是我的演示者代码:
val data1 = apiService.getData1().map { "d1" to it }
val data2 = apiService.getData1().map { "d2" to it }
Observable.just(data1, data2)
.flatMap { it }
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe { (type, data) ->
when (type) {
"d1" -> view.showData1(data)
"d2" -> view.showData2(data)
}
}
工作正常。 但这顺序地起作用。 完成第一个请求“ getData1()”后,发送第二个请求“ getData2()”。
我想同时发送它们。
我该怎么做?