我创建了一个服务,使用HttpClient.get从服务器返回用户详细信息。
public getUser(id: number): Observable<User>{
return this.http
.get<User>('myUrl?id='+id);}
我已将服务注入组件。 在组件中我想得到一个用户,所以我订阅了返回Observable的服务方法。
到目前为止一切顺利。
我的问题: 现在我想得到另一个用户,问题是我如何激活服务方法再次获得用户?
每次我需要用户时,我是否应该取消订阅并再次订阅?
答案 0 :(得分:0)
从HttpClient
返回的所有Observable都冷。
Observables是将观察者与生产者联系起来的函数。如果在订阅期间创建并激活其基础生成器,则observable是“冷”。这意味着,如果observable是函数,则通过调用该函数来创建和激活生成器。 (source)
所以,可以多次订阅您的服务HttpClient
方法并从不同的地方拨打电话,并且您不需要取消订阅。但请记住,neccesery to unsubscribe所有订阅者的组件都会被破坏。