single schedulers rxjava programming example curso java rx-java

schedulers - RxJava: diferencia entre doOnNext y doOnEach



schedulers rxjava (1)

¿En qué casos debería usar doOnNext y en qué casos doOnEach?

.doOnEach(new Action1<Notification<? super MessageProfile>>() { @Override public void call(Notification<? super MessageProfile> notification) { } }) .doOnNext(new Action1<MessageProfile>() { @Override public void call(MessageProfile profile) { messageProfileDao.save(profile); } })

Esto parece que los dos operadores tienen el mismo efecto.


De hecho, están bastante cerca. Una cosa que difiere (y tal vez no esté tan claro en el javadoc, más visible en el código fuente) es que en doOnEach, también recibe envoltorios de Notification para errores y eventos de finalización.

Luego puede verificar isOnNext , isOnCompleted o isOnError para verificar el tipo real de evento para el que recibió una notificación.

Entonces, un Action.call para gobernarlos a todos, en lugar de un Observer toda regla