android - 如何在 RxJava 中同时运行多个 Observable?
问题描述
我正在开发一个 Android 应用程序。
我想在 UI 中显示两个值。这些值是从 API Server 检索的,我正在使用 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()”。
我想同时发送它们。
我怎样才能做到这一点?
解决方案
推荐阅读
- moodle - 如何在 Moodle 3.8 中包含附加信息课程概览块
- c# - C# 表单类扩展问题
- ocaml - LSP 服务器示例
- ios - 即使启用了设备“请勿打扰”,如何显示 VoIP 推送呼叫的传入 CallKit 窗口?
- onnx - caffe2 推断 onnx 模型,发生 IndexError: Input 475 is undefined
- java - 在Java中减少扩展数量以尽可能减少类的最佳方法是什么?
- c++ - QtQuick - QQuickItem mouseMoveEvent 不工作
- powershell - 加入域后设置自动登录到本地用户
- java - 具有唯一元素的 Java 线程安全并发队列
- android - React-native:允许在 Android 中使用音频的权限