在哪种情况下,我应该使用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包装器。

然后,您可以检查isOnNextisOnCompletedisOnError来检查收到通知的实际事件类型。

因此,一个Action.call可以全部统治它们,而不是完整的Observer

关于java - RxJava : difference between doOnNext and doOnEach,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28723341/

10-10 07:33