Один вариант использования, который я обычно применяю для doOnSuccess()
, - это принудительное включение некоторых триггеров при успешном вызове. Например, у меня есть функция для выборки пользовательских данных в общем классе
fun getUserData(userId: Int) {
userDataApi(userId)
.doOnSuccess { fetchAllImages() }
.doOnError { Log.e(it) }
}
Как видите, подписки пока нет. И тот, кто хочет использовать вышеупомянутую функцию, может вызвать ее позже.
getUserData
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe()
И если getUserData
удастся, он всегда будет вызывать fetchAllImages()
.