我得出的结论是,我无法创建可以在我的组件中使用的轮询服务。它遵循组件打字稿代码中的本地函数,该代码使用发出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);
});
});
}
代码移动到我的全局服务中。到目前为止我所有的尝试都没有成功。任何指导将不胜感激!
答案 0 :(得分:0)
所以,好像你需要一个hot observable。
我建议你创建一个新的组件服务(一种你的全局服务)。
在此服务上,您可以使用热门观察方法开始投票。
然后,您在需要监听轮询数据的每个组件上订阅此observable。