public Observable<Weather> fetchWeather(final String city) {
return apiService.mWeatherAPI(city, C.HEFENG_KEY)
.subscribeOn(Schedulers.io())
.unsubscribeOn(AndroidSchedulers.mainThread())
.observeOn(AndroidSchedulers.mainThread())
.flatMap(new Func1<WeatherAPI, Observable<WeatherAPI>>() {
@Override
public Observable<WeatherAPI> call(WeatherAPI weatherAPI) {
String status = weatherAPI.mHeWeatherDataService30s.get(0).status;
//出错
if ("no more requests".equals(status)) {
return Observable.error(new ApiException(100));
} else if ("unknown city".equals(status)) {
return Observable.error(new ApiException(101));
}
return Observable.just(weatherAPI);
}
})
.map(new Func1<WeatherAPI, Weather>() {
@Override
public Weather call(WeatherAPI weatherAPI) {
return weatherAPI.mHeWeatherDataService30s.get(0);
}
});
}
api次数用完后 return Observable.error(new ApiException(100)); 程序闪退是什么原因?
return apiService.mWeatherAPI(city, C.HEFENG_KEY)
.subscribeOn(Schedulers.io())
.unsubscribeOn(AndroidSchedulers.mainThread())
.observeOn(AndroidSchedulers.mainThread())
.flatMap(new Func1<WeatherAPI, Observable<WeatherAPI>>() {
@Override
public Observable<WeatherAPI> call(WeatherAPI weatherAPI) {
String status = weatherAPI.mHeWeatherDataService30s.get(0).status;
//出错
if ("no more requests".equals(status)) {
return Observable.error(new ApiException(100));
} else if ("unknown city".equals(status)) {
return Observable.error(new ApiException(101));
}
return Observable.just(weatherAPI);
}
})
.map(new Func1<WeatherAPI, Weather>() {
@Override
public Weather call(WeatherAPI weatherAPI) {
return weatherAPI.mHeWeatherDataService30s.get(0);
}
});
}
api次数用完后 return Observable.error(new ApiException(100)); 程序闪退是什么原因?