0

在我的程序中,我有一些timer(1000).subscribe()实例以及一些timer(1000, 1000).subscribe()部分。

我遇到了一些内存泄漏问题,想知道是否可以通过取消订阅计时器来缓解这些问题。取消订阅循环计时器似乎很简单且必要,但我是否还必须取消订阅只发出一次的计时器?

我的问题的第二部分是,是否有更好的方法来取消订阅发射计时器,而不是将其放入如下变量中:

const myTimer = timer(1000).subscribe(() => {
    myTimer.unsubscribe();
});

谢谢!

4

1 回答 1

3

timer将在一次发射后自行完成,因此无需取消订阅 对于取消订阅的另一种方式,您可以使用订阅实例。通过使用它,您可以从存储所有订阅中受益,并一次调用全部取消订阅。

subs=new Subscription();
subs.add(timer(1000).subscribe())
subs.unsubscribe()
于 2020-02-06T10:39:32.643 回答