DarkSkyAPI调用返回Forecast
对象,该对象包含WeeklyData
对象,而该对象又包含Array<DailyData>
。
我的存储库类需要Array<DailyData>
来缓存数据并将其传播到Presenter。
目前,我正在这样调用API:
Flowable<Forecast> response = service.getRxWeatherResponse(params...);
。
如何解开此Flowable<Forecast>
以提取Flowable<Array<DailyData>>
并返回到存储库类?
谢谢。
答案 0 :(得分:1)
克里斯,谢谢!我已经按照您的建议使用了地图运算符。最终代码返回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());