在哪种情况下,我应该使用doOnNext,在哪种情况下,
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);
}
})
看起来这两个运算符具有相同的效果。
最佳答案
他们确实确实很接近。
不同的一件事(实际上在javadoc中可能不是很清楚,在源代码中更明显)是在doOnEach中,您还为错误和完成事件获得了Notification
包装器。
然后,您可以检查isOnNext
,isOnCompleted
或isOnError
来检查收到通知的实际事件类型。
因此,一个Action.call
可以全部统治它们,而不是完整的Observer
关于java - RxJava : difference between doOnNext and doOnEach,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28723341/