API 返回的 RxJava2 改变 Flowable 对象的类型

RxJava2 changing type of Flowable object being returned by API

DarkSkyAPI 调用 returns Forecast 包含 WeeklyData 对象的对象,后者又包含 Array<DailyData>.

我的存储库 class 需要 Array<DailyData> 缓存数据并将其传播到 Presenter。

目前我这样调用 API: Flowable<Forecast> response = service.getRxWeatherResponse(params...);.

我如何解开这个 Flowable<Forecast> 以提取 Flowable<Array<DailyData>> 以返回到存储库 class?

谢谢。

知道了克里斯,谢谢!我已经按照您的建议使用了地图运算符。最终代码 returns Observable 看起来像这样:

return service.getRxWeatherResponse(API cal params...)
        .map(new Function<Forecast, List<DailyData>>() {
                 @Override
                 public List<DailyData> apply(Forecast forecast) throws Exception {
                     return forecast.getWeeklyData().getDailyData();
                 }
             });

或使用 lambda 简化:

return service.getRxWeatherResponse(API cal params...)
        .map(forecast -> forecast.getWeeklyData().getDailyDataArray());