取消订阅仅在必要时发出一次的可观察计时器?

mne*_*ann 2 node.js observable rxjs typescript rxjs-observables

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

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

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

const myTimer = timer(1000).subscribe(() => {
    myTimer.unsubscribe();
});
Run Code Online (Sandbox Code Playgroud)

谢谢!

Fan*_*ung 6

timer一次发射后将自行完成,因此无需取消订阅 对于取消订阅的替代方法,您可以使用订阅实例。通过使用它,您可以通过一次调用存储所有订阅并取消所有订阅。

subs=new Subscription();
subs.add(timer(1000).subscribe())
subs.unsubscribe()
Run Code Online (Sandbox Code Playgroud)