java - RxJava 和 Retrofit 中的链接 api 调用

标签 java retrofit rx-java

我有一个获取电影的服务:

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/

相关文章:

android - 改造 1.6 : Call RestService with different (TCP)-Ports

java - 如何缓冲 GroupedFlux 的 Flux?

android - 在 Android 上理解 RX 哲学(RxJava、RxJS、Rx...)的问题

java - 为什么map被调用多次?

java - Kubernetes java api 客户端更改 pod 标签

java - java中的字符串连接

java - 更改java代码/android中的微调器文本颜色?

java - 如何编写可以在运行时自行更新的 Java 应用程序?

android - 使用 Kotlin 处理 Retrofit 回调

android - 调用 retrofit.Call<> 时出现 NullPointerException