我应该取消订阅组件中定义的可观察项吗



我有一个Angular组件,其中observable(BehaviourSubject(被设置为类成员
在某个时候我订阅了它。
问题是:我是否应该在ngOnDestroy((中取消订阅它
目前还不清楚,因为可观察的寿命似乎与组件的寿命相同,我们可能不应该关心内存泄漏。

示例代码:

@Component(...)
class MyComponent implements OnInit {
public subject: BehaviorSubject<string> = new BehaviorSubject('');

public ngOnInit(): void {
this.subject.subscribe(...);
}
}

请参阅以下答案:https://stackoverflow.com/a/41177163/12914833

基本上,如果observable完成,您就不需要取消订阅。这方面的一个例子是您从http请求中获得的可观察结果。

如果在组件损坏之前没有完成,则会导致内存泄漏。这方面的一个例子是一个可观察到的数据库,它会随着变化而更新。

最新更新