Ste*_*ngo 19 java reactive-programming rx-java
在我的上一个项目中,我使用rxJava并且我意识到observable.doOnError('onErrorCallback').subscribe(action)并observable.subscribe(action, 'onErrorCallback')以不同的方式运行.即使是从文档中我也不明白它们之间的区别是什么,以及何时应该使用第一个和第二个变体.
aka*_*okd 23
该doOnError运营商允许你注入副作用成序列的错误传播,但并不能阻止错误传播本身.订阅者是事件的最终目的地,他们"退出"序列.
您可以doOnError通过以下示例看到它的用处:
api.getData()
.doOnError(e -> log.error(e))
.retry(2)
.subscribe(...)
Run Code Online (Sandbox Code Playgroud)
它允许您查看错误,但允许您在发生错误时重试.对于最终订户:
api.getData()
.subscribe(v -> {}, e -> log.error(e) );
Run Code Online (Sandbox Code Playgroud)
您必须以自己的方式安排处理错误(除了日志记录).