很好奇是否需要取消订阅Subscription
个未引用的实例?例如this demo调用:
onSubmit(creds: Creds) {
this.authService.login(creds).subscribe();
}
因此,每次有人登录Subscription
实例时,都会创建并返回该实例,但是没有处理。
IIUC这些只是垃圾收集,但为了安全起见,我会仔细检查。
答案 0 :(得分:5)
如果Observable完成,则无需退订。使用http服务创建的可观察对象将在调用后完成。
那是说最好还是退订或有一个takeUntil子句。
finalise = new Subject<void>();
onSubmit(creds: Creds) {
this.authService.login(creds).pipe(takeUntil(finalise)).subscribe();
}
ngOnDestroy() {
this.finalise.next();
this.finalise.complete();
}
这样,您可以使用同一主题完成所有可观察项,而不必管理多个订阅。