当前位置: 首页 > 面试题库 >

我是否必须取消订阅已完成的可观察项目?

钦楚青
2023-03-14
问题内容

如果一个可观察对象完成,我是否仍然必须取消订阅/处置(在RxJava2中)以移除该观察对象(以防止内存泄漏),或者一旦发生onCompleteor
onError事件,它是否由RxJava内部处理?

什么其他类型的喜欢SingleCompletableFlowable等。


问题答案:

是的,你是对的。

流终止后(已调用onComplete /
onError),订户将自动退订。您应该能够使用isUnsubscribed()Subscription对象上的方法测试这些行为。



 类似资料:
  • 本文向大家介绍system.reactive 订阅/取消订阅可观察对象(IDisposable),包括了system.reactive 订阅/取消订阅可观察对象(IDisposable)的使用技巧和注意事项,需要的朋友参考一下 示例 订阅返回IDisposable: 当您准备取消订阅时,只需处置订阅即可:            

  • 在ngOnDestory中,我取消了两个订阅,但仍然得到前面的错误。 现在我几乎可以肯定问题出在这行:即使我在注销之前取消了proposalSubscription和chatSubscription的订阅,但仍然会出现错误。有没有解决这个问题的方法?而且,我对RXJ和操作符没有太多的经验。有没有操作符可以用来避免这种嵌套订阅? 提前道谢。

  • 是否需要退订Angular 2 http调用以防止内存泄漏?

  • 我通读了RxJS文档,并希望确保我理解了< code > subscriber . unsubscribe()和< code > subscriber . complete()之间的区别。 假设我有一个有两个订阅者的可观察对象,订阅者1和订阅者2。如果订阅者1对其订阅调用取消订阅,它将不再接收来自可观察对象的通知,但订阅者2将继续接收它们。 <代码>的文档。complete(): 观察者回调,用于

  • 我有一个Angular组件,将observable(BehaviourSubject)设置为类成员 有时我会订阅它 问题是:我是否应该在ngOnDestroy()中取消订阅 尚不清楚,因为可观察的生命周期似乎与组件的生命周期相同,可能我们不应该关心内存泄漏。 示例代码:

  • 我最近才知道,我们必须在Angular破坏组件之前取消订阅,否则会造成内存泄漏。 我还知道,我们可以获得对订阅的引用,通过对该订阅调用unsubscribe方法,我们可以进行订阅。例如: 下面的方法会起作用吗?在HTTP调用的情况下,退订是最好的方法吗?