gpt4 book ai didi

java - doOnSuccess 和 doOnEach 之间的区别,以及在哪个用例中我应该使用它们中的每一个

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:05:37 32 4
gpt4 key购买 nike

我正在审查源代码文件,发现在某些提交中我们更改了

    .doOnSuccess(response -> logBodyAsJSON(response ));

进入

    .doOnEach(response -> logBodyAsJSON(response ));

我找不到这样做的明确理由。

那么 doOnSuccess 和 doOnEach 之间有什么区别,我应该在什么情况下使用它们?

最佳答案

顾名思义,

doOnSuccess 只会在您的 observable 成功返回项目且不会引发错误时调用。因此,您只会记录确认响应。

此外,doOnSuccess 适用于 Singles或者 Maybes,它只能发出一个项目(否则你会使用 doOnNext)。如果您使用可以发射多个项目的 Observable,您将使用 doOnNext 来获得完全相同的行为。


doOnEach 将被调用,无论 observable 是否发出一个项目,错误与否。它接收通知而不是项目本身。它将被称为:

  • 单个的 onSuccess 和 onError
  • 典型 Observable 的 onNext、onComplete 和 onError

enter image description here

Observable 项目很可能从 Single 变为 Observable。此外,还需要能够记录错误和成功,这就是未选择 doOnNext 的原因。

关于java - doOnSuccess 和 doOnEach 之间的区别,以及在哪个用例中我应该使用它们中的每一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56755085/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com