【问题标题】:Do I need to unsubsribe a subscription of a stream that has completed?我是否需要取消订阅已完成的流的订阅?
【发布时间】:2019-10-07 17:36:18
【问题描述】:

我看到不同的消息来源似乎在这件事上相互矛盾,或者可能有一些我不明白的地方。

例如,我可以从返回承诺的异步请求中获取流,然后将其与其他流的最新值结合起来,并订阅它以对结果执行某些操作。流只会发出一次,所以我可以在第一次发出后关闭它。

如果我创建一个流,映射一个 first() 运算符,使其在第一个发出的值之后完成,然后订阅它,我是否需要显式取消订阅以避免内存泄漏,或者流的完成是否会“取消订阅” " 自动?

谢谢。

【问题讨论】:

  • 是的,您需要取消订阅以避免内存泄漏。如果您不想取消订阅,请使用 toPromise() - 这会将 observable 转换为您不需要取消订阅的承诺。
  • 这个回答不正确吗? stackoverflow.com/questions/40019177/…

标签: javascript rxjs reactivex


【解决方案1】:

是的,最好取消订阅,因为它会减少您的堆栈

【讨论】:

    猜你喜欢
    • 2017-06-09
    • 2017-05-12
    • 2020-04-26
    • 1970-01-01
    • 1970-01-01
    • 2021-04-01
    • 2019-03-06
    • 1970-01-01
    • 2019-01-31
    相关资源
    最近更新 更多