我只是在学习 Angular。我注意到这里经常使用方法订阅。例如:
getUser(id: number) {
this.userService.getUser(id).subscribe(
(resultService: DataResponse<User>) => {
...
});
}
要获取特定用户,我们订阅此方法。假设有人请求了十倍不同的用户。所以 getUser 函数被调用了十次。在这种情况下,订阅会发生什么?源数据每次都不一样。我们会得到十种不同的订阅吗?或者它将是一个订阅,每次调用此函数时,都会重新创建它。
还有一个问题。我见过很多类似的例子,甚至在 Angular 网站上。但我从未见过有人取消订阅。是不是调用了UserService服务的getUser方法后需要取消订阅?
getUser新的订阅。getUser这只是一个 HTTP 请求,那么在收到响应后它就完成了(完成),在这种情况下,取消订阅是可选的。但是有些情况下,请求处理时间很长,而组件(请求数据的)不再存在,那么最好取消订阅,以免发送/等待“不必要的”请求。