从第一个请求获取对象后发出请求

时间:2019-05-26 22:37:10

标签: android retrofit2 rx-java2 rx-android

我是Rx的新手,需要帮助以了解它。我正在使用TMDB来获取数据。现在,它返回一个包含电影ID列表的Json对象。我希望能够发送此列表中ID的请求。

可以说我的第一个请求是searchFor(String query),它给了我一个Object,该Object包含一个带有电影列表的响应字段。 我的第二个请求是getDetails(String id),这是我希望显示的最终数据。

我有一个Single<MovieResponse> searchFor(String query)和一个Single<MovieDetail> getDetails(String id)

问题是我想让它保持被动状态,并在收到第一个请求的数据时立即发出第二个请求(getDetails)。

我在想类似FlatMap的东西。

1 个答案:

答案 0 :(得分:0)

我发现我可以链接运营商以实现我想要的。 我做到了,

Single.subscribeOn(...)
    .observeOn(...)
    .map(...)      // return the arraylist in the object
    .flatmap(...)  // return observable for that arraylist
    .flatmap(...)  // return (n) observables for the elements of arraylist