doAfterTerminate和doFinally之间的区别
有人知道RxJava 2中的运算符“ doAfterTerminate”和“ doFinally”有什么区别吗?
回答:
区别在于,如果下游除了常规路径或终止路径之外还取消/布置了序列,则doFinally
执行提供Action
的操作。这允许通过所有三种方式清理和释放资源。运算符还保证即使每个或信号竞争取消,该动作也将针对每个订阅完全执行一次。onError``onComplete``onError``onComplete
相反,doAfterTerminate
仅涵盖onError
和onComplete
。
您可以doFinally
使用doAfterTerminate
+
进行模拟doOnCancel
,但是,如果将其拆分为一个操作,则操作参数可能会同时执行,并且会导致非幂等清理逻辑出现问题。
以上是 doAfterTerminate和doFinally之间的区别 的全部内容, 来源链接: utcz.com/qa/410906.html