angular 5 HttpClient可观察重用

时间:2018-01-24 07:41:15

标签: angular angular-httpclient angular-observable

我创建了一个服务,使用HttpClient.get从服务器返回用户详细信息。

public getUser(id: number): Observable<User>{

return this.http
  .get<User>('myUrl?id='+id);}

我已将服务注入组件。 在组件中我想得到一个用户,所以我订阅了返回Observable的服务方法。

到目前为止一切顺利。

我的问题: 现在我想得到另一个用户,问题是我如何激活服​​务方法再次获得用户?

每次我需要用户时,我是否应该取消订阅并再次订阅?

1 个答案:

答案 0 :(得分:0)

HttpClient返回的所有Observable都

Observables是将观察者与生产者联系起来的函数。如果在订阅期间创建并激活其基础生成器,则observable是“冷”。这意味着,如果observable是函数,则通过调用该函数来创建和激活生成器。 (source

所以,可以多次订阅您的服务HttpClient方法并从不同的地方拨打电话,并且您不需要取消订阅。但请记住,neccesery to unsubscribe所有订阅者的组件都会被破坏。