У меня есть функция в RxJava, которая пытается найти вещь на основе условия, и в случае успеха она преобразуется и возвращает ее как Observable
. Я хочу вернуть Observable.empty()
, если он не может ничего найти, поэтому нет первого.
Я не уверен в этом, но я думаю, что если фильтр отфильтровывает каждый элемент в Observable
, то в любом случае результат будет Observable.empty()
(без firstElement()
).
void Observable<Thing> transformFirst(Observable<Thing> things,Predicate<Thing> condition){
return things
.filter(condition)
.firstElement()
.map(firstThing ->{...do sg...})
}
EDIT:
Моя проблема в том, что firstElement()
возвращает Maybe<Thing>
, и я не знаю, как превратить это в Observable.empty()
, когда filter(condition)
отфильтровывает все (condition
оценивается как ложное для каждого thing
)