Я выполнил следующее требование:
У меня есть метод, который возвращает Maybe
, и мне нужно обработать его в отъезде, чтобы, если он возвращает что-то, вызвать другой метод, который возвращает Single
в противном случае OnComplete
вызывает Single
.
Вот фрагмент:
doSomethingThatReturnsMaybe()
.flatMapSingleElement(obj-> {
return doSomethingThatReturnsSingle();
})
.subscribe(obj -> LOG.info(obj),
err -> LOG.err("", err),
() -> {
doSomethingThatReturnsSingle()
.subscribe();
});
Есть идеи, как избавиться от вложенного subscribe
?
ОБНОВЛЕНИЕ: Последний фрагмент кода
doSomethingThatReturnsMaybe()
.flatMapSingleElement(obj-> {
return doSomethingThatReturnsSingle();
})
.switchIfEmpty(doSomethingElseThatReturnsSingle())
.subscribe(obj -> LOG.info(obj),
err -> LOG.err("", err);