RxJava:doOnError('callback') 和 subscribe(*, 'callback') 中的回调有什么区别
RxJava: what is difference between callbacks in doOnError('callback') and subscribe(*, 'callback')
在我上一个项目中,我使用了 rxJava,我意识到 observable.doOnError('onErrorCallback').subscribe(action)
和 observable.subscribe(action, 'onErrorCallback')
的行为方式不同。即使从文档中,我也不清楚它们之间到底有什么区别,以及何时应该使用第一个和第二个变体。
根据文档doOnError
默认情况下不在特定调度程序上运行
doOnError
运算符允许您将副作用注入到序列的错误传播中,但不会阻止错误传播本身。订阅者是事件的最终目的地,它们 'exit' 序列。
您可以通过以下示例了解 doOnError
的用处:
api.getData()
.doOnError(e -> log.error(e))
.retry(2)
.subscribe(...)
它允许您查看错误,但允许您在出现错误时重试。最终订阅者:
api.getData()
.subscribe(v -> {}, e -> log.error(e) );
您必须按照自己的方式安排错误的处理(除了日志记录)。
在我上一个项目中,我使用了 rxJava,我意识到 observable.doOnError('onErrorCallback').subscribe(action)
和 observable.subscribe(action, 'onErrorCallback')
的行为方式不同。即使从文档中,我也不清楚它们之间到底有什么区别,以及何时应该使用第一个和第二个变体。
根据文档doOnError
默认情况下不在特定调度程序上运行
doOnError
运算符允许您将副作用注入到序列的错误传播中,但不会阻止错误传播本身。订阅者是事件的最终目的地,它们 'exit' 序列。
您可以通过以下示例了解 doOnError
的用处:
api.getData()
.doOnError(e -> log.error(e))
.retry(2)
.subscribe(...)
它允许您查看错误,但允许您在出现错误时重试。最终订阅者:
api.getData()
.subscribe(v -> {}, e -> log.error(e) );
您必须按照自己的方式安排错误的处理(除了日志记录)。