试图创建一个投票'服务

时间:2018-02-13 08:31:43

标签: javascript angular typescript

我得出的结论是,我无法创建可以在我的组件中使用的轮询服务。它遵循组件打字稿代码中的本地函数,该代码使用发出get请求的全局数据服务(即['square', '4', 'string with space', '-arg'])。

MY-component.ts

dataService.getDetailedOrdersForBP(...)

我的问题是我是否可以将执行轮询的pollOrders(intervalTime?: number, orderId?: string) { console.log('pollOrders'); const time = intervalTime ? intervalTime : environment.pollingTime; const id = orderId ? orderId : ''; this.subscription = TimerObservable.create(0, time) .takeWhile(() => this.alive) .subscribe(() => { this.dataService.getDetailedOrdersForBP(this.credentials.username, this.credentials.llp, '1', '7988', id) subscribe(data => { console.log(data); this.detailedOrders = data.orders; }, (error) => { console.log(error); }); }); } 代码移动到我的全局服务中。到目前为止我所有的尝试都没有成功。任何指导将不胜感激!

1 个答案:

答案 0 :(得分:0)

所以,好像你需要一个hot observable

我建议你创建一个新的组件服务(一种你的全局服务)。

在此服务上,您可以使用热门观察方法开始投票。

然后,您在需要监听轮询数据的每个组件上订阅此observable。