Observable/Completed 完成或处置时 RxJava2 获取事件
RxJava2 get event when Observable/Completed is completed or disposed
我需要在订阅 Completable
时显示进度对话框,并在操作完成(成功或出错)或取消后隐藏它。
我也是
final Completable completable = notificationRepository.markAllAsRead()
.doOnSubscribe(d -> progressDialog.show())
.doOnError(error -> progressDialog.dismiss())
.doOnComplete(() -> progressDialog.dismiss())
.doOnDispose(() -> progressDialog.dismiss());
有什么优雅的方法可以在
onError
、onComplete
或 onDispose
发生了吗?
我做了一些测试,所以
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 的帮助。
我需要在订阅 Completable
时显示进度对话框,并在操作完成(成功或出错)或取消后隐藏它。
我也是
final Completable completable = notificationRepository.markAllAsRead()
.doOnSubscribe(d -> progressDialog.show())
.doOnError(error -> progressDialog.dismiss())
.doOnComplete(() -> progressDialog.dismiss())
.doOnDispose(() -> progressDialog.dismiss());
有什么优雅的方法可以在
onError
、onComplete
或 onDispose
发生了吗?
我做了一些测试,所以
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 的帮助。