gpt4 book ai didi

java - RxJava : what is difference between callbacks in doOnError ('callback' ) and subscribe(*, 'callback')

转载 作者:IT老高 更新时间:2023-10-28 21:00:50 31 4
gpt4 key购买 nike

在我的上一个项目中,我使用了 rxJava,我意识到 observable.doOnError('onErrorCallback').subscribe(action)observable.subscribe(action, 'onErrorCallback') 以不同的方式表现。即使从文档中,我也不清楚它们之间的确切区别以及何时应该使用第一个和第二个变体。

最佳答案

doOnError 运算符允许您将副作用注入(inject)到序列的错误传播中,但不会阻止错误传播本身。订阅者是事件的最终目的地,它们“退出”序列。

您可以通过以下示例看到 doOnError 的用处:

api.getData()
.doOnError(e -> log.error(e))
.retry(2)
.subscribe(...)

它允许您查看错误,但允许您在出现错误时重试。对于最终订阅者:

api.getData()
.subscribe(v -> {}, e -> log.error(e) );

您必须以自己的方式安排错误的处理(除了日志记录)。

关于java - RxJava : what is difference between callbacks in doOnError ('callback' ) and subscribe(*, 'callback'),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30250467/

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