gpt4 book ai didi

javascript - 没有引用句柄的订阅实例是否需要退订?

转载 作者:太空狗 更新时间:2023-10-29 18:14:41 26 4
gpt4 key购买 nike

只是好奇未被引用的Subscription实例是否需要取消订阅?例如this demo调用:

onSubmit(creds: Creds) {
this.authService.login(creds).subscribe();
}

所以每次某人登录时,都会创建并返回一个订阅实例,但没有它的句柄。

IIUC 这些只会被垃圾收集,但我想为了安全起见我会仔细检查。

最佳答案

如果 Observable 完成,则无需取消订阅。使用 http 服务创建的 Observable 将在调用后完成。

也就是说,最好还是取消订阅或使用 takeUntil 子句。

finalise = new Subject<void>();

onSubmit(creds: Creds) {
this.authService.login(creds).pipe(takeUntil(finalise)).subscribe();
}

ngOnDestroy() {
this.finalise.next();
this.finalise.complete();
}

这样您就可以使用同一个主题来完成您所有的 Observable,而不是管理许多订阅。

关于javascript - 没有引用句柄的订阅实例是否需要退订?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53843889/

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