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