Ros*_*hak 2 android rx-java rx-java2
当我订阅Completable并在操作完成后(成功或出错)隐藏它或被取消时,我需要显示进度对话框.
所以我这样做
final Completable completable = notificationRepository.markAllAsRead()
.doOnSubscribe(d -> progressDialog.show())
.doOnError(error -> progressDialog.dismiss())
.doOnComplete(() -> progressDialog.dismiss())
.doOnDispose(() -> progressDialog.dismiss());
Run Code Online (Sandbox Code Playgroud)
是否有任何优雅的方式,什么时候能得到一个回调
onError,onComplete或onDispose发生什么呢?
Ros*_*hak 15
我做了一些测试,所以
doOnDispose 当订阅者取消订阅时调用它,在完成后永远不会调用它.
doOnComplete在Observable/ Completable成功完成时调用.(错误不会发生)
doOnError在Observable/ Completable发出错误时调用.(OnComplete未被称为).
doOnTerminate在Observable/ Completable发出error或发出时被调用completes.所以它是doOnComplete+doOnError
doFinally在Completable/ Observable信号onError或被onComplete处理时被调用.所以它是doOnDispose+ doOnError+ doOnComplete.
所以doFinally我正在寻找,谢谢你akarnokd的帮助.
| 归档时间: |
|
| 查看次数: |
1679 次 |
| 最近记录: |