【发布时间】:2017-05-27 20:29:10
【问题描述】:
我试图限制我的应用程序中不必要的 HTTP 调用的数量,但每次我订阅 Observable 时都会向服务器发出请求。有没有办法在不触发 http 请求的情况下订阅 observable?我在服务中的 observable 看起来像这样:
getServices(): Observable<Service[]> {
return this.http.get(this.serviceUrl).map(res => res.json())._catch(err => err);
}
然后在我的组件中,我像这样订阅那个 observable:
this.serviceService.getServices().subscribe(services => this.services = services);
我想要实现的是以某种方式将数据存储在服务本身上(这样我就可以在整个应用程序中使用该数据,而无需分别对每个组件发出请求,但我也想知道何时收到该数据按组件(我通常通过订阅来完成)。
【问题讨论】:
-
... 就是不调用触发请求的函数? <.>
-
我订阅它是因为我想要它提供的相同数据......现在我创建了一个解决方法并将“this.services”放在一个主题中,并从该主题中创建了一个可观察的。
标签: javascript angular http rxjs