我有方法返回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