3
我想從列表中使用RxJava獲得第一個項目。但是,如果項目不存在,我不希望它拋出錯誤。相反,我希望能夠通過提供默認項目來處理這個問題。RxJava,獲得第一個項目,如果存在
我在下面創建的代碼在檢索列表中的第一項時正常工作。雖然我不知道如何將.exists()
納入它。
api.getLibraryEntries(username)
.observeOn(AndroidSchedulers.mainThread())
.flatMap(new Func1<List<Entry>, Observable<Entry>>() {
@Override
public Observable<Entry> call(List<Entry> Entries) {
return Observable.from(Entries);
}
})
.first(new Func1<Entry, Boolean>() {
@Override
public Boolean call(Entry entry) {
return entry.getId() == id;
}
})
.subscribe(
new Action1<Entry>() {
@Override
public void call(Entry entry) {
view.showEntry(entry);
}
},
new Action1<Throwable>() {
@Override
public void call(Throwable throwable) {
view.showError(throwable.getMessage());
}
});
任何幫助表示讚賞。
啊,謝謝!正是我在找的東西。 – 535A2