我有一个获取电影的服务:
Single<List<Movie>> fetchAll();
以及用于获取每部电影预告片的服务:
Single<List<Video>> fetchByMovieId(@Path("movie_id") long movieId);
在获取所有电影后,我还想获取它们的预告片并返回由电影及其所有预告片组成的对象列表。使用 RxJava 实现此目的的正确方法是什么?
最佳答案
ps:您应该避免提出大量请求。尝试按需执行此操作。
yourClient.fetchAll()
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.toObservable()
.flatMapIterable(movies -> movies)
.flatMap(movie -> yourClient.fetchByMovieId(movie.getId()))
.toList()
.subscribe()...
关于java - RxJava 和 Retrofit 中的链接 api 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50021630/