我有方法返回Place的对象,但首先我必须检查Place对象是否存在于数据库中,然后返回他或以其他方式从休息服务中获取Place对象。如何最简单的方法我可以检查出来?如何比较Observable的结果并返回其中一个
public Observable<Place> getPlace(final String id) {
// Both method from repository and rest are: Observable<Place> getPlace(String id);
// if placeDatabaseRepository.getPlace(id) != null then:
return placeDatabaseRepository.getPlace(id);
// else Place == NULL then:
return placeRest.getPlace(id);
}
的【什么是RxJava相当于否则容易的(可能的复制http://stackoverflow.com/questions/32833705/what-is-rxjava-equivalent-of-orelse) –
你可以在你的可观察值上使用'switchIfEmpty'运算符 – nnesterov