改造&RxJava 多个请求完成 [英] Retrofit & RxJava multiple requests complete

查看:50
本文介绍了改造&RxJava 多个请求完成的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要做的:

  1. 请求 2 个来自不同网站的新闻列表
  2. 合并请求的结果
  3. 按日期对项目进行排序
  4. 获取 10 条最新消息
  5. 保存它们
  6. 显示完整的消息

例如,我有这两个 observables:

For example, I have this two observables:

Observable<RegionalNews> regionalNews;
Observable<NationalNews> nationalNews;

public interface NewsNationalService {
  @GET("news/national")
  Observable<News> getNationalNews();
}

public interface NewsRegionalService {
  @GET("news/regional")
  Observable<News> getRegionalNews();
}

推荐答案

如果你不想对组合的结果做一些特定的事情,那么 merge() 就足够了:

If you don't want to do something specific with the combined results, then merge() is enough:

Observable<RegionalNews> regionalNews = ...;
Observable<NationalNews> nationalNews = ...;

Observable
.merge(regionalNews, nationalNews)
.ignoreElements()
.observeOn(AndroidSchedulers.mainThread())
.doOnComplete(() -> { /* show alert */ })
.subscribe()

这篇关于改造&amp;RxJava 多个请求完成的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆