gpt4 book ai didi

javascript - Rxjs 如何知道可观察到的订阅者有多少?

转载 作者:数据小太阳 更新时间:2023-10-29 05:35:12 25 4
gpt4 key购买 nike

当我有多个订阅者订阅一个 observable 时,例如:

const myInterval = Rx.Observable.interval(500);

const subscriptionOne = myInterval.subscribe(val => doSomething());
const subscriptionTwo = myInterval.subscribe(val => doSomething());

我如何知道有多少订阅者仍然注册到 myInterval 可观察对象?例如,我需要此信息以防止内存泄漏,以防我忘记取消订阅其中一个?

最佳答案

当使用 angular 2 时,你应该尽可能地尝试使用异步管道,因为当你的组件被销毁时,它会自动为你取消订阅。

话虽这么说。您在此处可观察到的间隔是冷可观察的。这意味着,对于每个订阅,都将设置值(value)的生产者。这意味着,每次都会创建一个新订阅。因此,知道您仍然需要对一个冷可观察对象进行多少订阅是一个您无法回答的问题。

恐怕您唯一能做的就是以一种干净的方式管理您的订阅,并为此尽可能地依赖 Angular。

关于javascript - Rxjs 如何知道可观察到的订阅者有多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40157732/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com