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());
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());