没有办法让cache自己停止缓存终端事件(onError和onCompleted).但您可以在终端事件发生之前将其过滤掉.
我在这里写了一些处理错误的方法.基本上,你可以使用一个捕捉运营商像onErrorReturn()或者onErrorResumeNext()这些错误转化为非错误.
或者,如果您可以使用materialize()+dematerialize()并过滤掉任何错误通知.但功能上与使用onErrorResumeNext()时没有什么不同Observable.empty().
举个例子,你基本上会做这样的事情:
observable
.onErrorResumeNext(throwable -> Observable.empty())
.cache()
Run Code Online (Sandbox Code Playgroud)
这将过滤掉错误,然后缓存其余的错误.
| 归档时间: |
|
| 查看次数: |
1562 次 |
| 最近记录: |