【发布时间】:2018-02-06 22:36:36
【问题描述】:
我对在 Android 中使用 RxJava 和 Retrofit 非常陌生。我已经成功编写了 API 调用并开发了接口。现在,我想以一种可以发送两个请求的方式编写代码:第二个请求取决于第一个请求的值。如果可能的话,有人可以指导我吗?如果是,那怎么办?任何代码 sn-p 都会很有帮助。
例如:以下是两个请求:
mCompositeDisposable.add(fcService.getStationList()
.subscribeOn(Schedulers.io()) // "work" on io thread
.observeOn(AndroidSchedulers.mainThread()) // "listen" on UIThread
.subscribe(this::handleResults, this::handleError)
);
mCompositeDisposable.add(fcService.getStationSensor("12345678")
.subscribeOn(Schedulers.io()) // "work" on io thread
.observeOn(AndroidSchedulers.mainThread()) // "listen" on UIThread
.subscribe(this::handleResults, this::handleError)
);
第二个请求可以使用第一个请求响应的值。是否可以以我只为它们编写一次代码的方式合并这两个请求?
【问题讨论】:
-
我们需要查看
handleResults等的代码,我们还需要知道您到底想做什么。您是否只想将getStationSensor()用于getStationList()中的第一项?你想getStationSensor()每件商品吗?仅适用于符合某些标准的某些项目?等 -
@BenP。有两种情况:(1)是的,你没看错。我想为 getStationList() 中的第一项获取 getStationSensor()。 (2) 当用户从站的列表中更改站时,我想在站的更改上获取 getStationSensor()。任何可以同时处理的解决方案?或者至少是第一个? handleResults 只是解析 List
以提取它们的名称并填充 Dropdown。
标签: android rx-java2 rx-android