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