doAfterTerminate和doFinally之间的区别

有人知道RxJava 2中的运算符“ doAfterTerminate”和“ doFinally”有什么区别吗?

回答:

区别在于,如果下游除了常规路径或终止路径之外还取消/布置了序列,则doFinally执行提供Action的操作。这允许通过所有三种方式清理和释放资源。运算符还保证即使每个或信号竞争取消,该动作也将针对每个订阅完全执行一次。onError``onComplete``onError``onComplete

相反,doAfterTerminate仅涵盖onErroronComplete

您可以doFinally使用doAfterTerminate+

进行模拟doOnCancel,但是,如果将其拆分为一个操作,则操作参数可能会同时执行,并且会导致非幂等清理逻辑出现问题。

以上是 doAfterTerminate和doFinally之间的区别 的全部内容, 来源链接: utcz.com/qa/410906.html

回到顶部