Если flatMap
работает на RxJava Scheduler
во время вызова blockingFirst
, вы, вероятно, получите InterruptedException
, завернутый в RuntimeException
.Однако вы не должны вызывать блокирующие методы в обработчике, а создавать через flatMap
.flatMap{ host ->
userRepository.getUsers(PrefProvider.currentTourCode)
.flatMap {
if (it.size) {
return callSomething()
}
return callElse()
}
}
В зависимости от того, что должны делать callSomething
и callElse
, и если они должны что-то возвращать, вы также можетеесть map
doOnNext
вместо flatMap
там.