【发布时间】:2018-06-20 10:34:35
【问题描述】:
我想在每 1 分钟刷新一次页面后从 5 个 API 加载数据。 为了发送请求并将所有数据放在一起,我将使用 Observable.forkJoin 并在每次将其放入 setInterval 时重复它。
如下所示。
setInterval(function () {
console.log("INSIDE SET INTERVAL")
return Observable.forkJoin(
self.http.get(url1, { headers: headers, method: 'GET' }).map((res: Response) => res.json()),
self.http.get(url2, { headers: headers, method: 'GET' }).map((res: Response) => res.json()),
self.http.get(url3, { headers: headers, method: 'GET' }).map((res: Response) => res.json()),
self.http.get(url4, { headers: headers, method: 'GET' }).map((res: Response) => res.json()),
self.http.get(url5, { headers: headers, method: 'GET' }).map((res: Response) => res.json()),
);
}, 60000);
但是当我尝试订阅这个功能时,它说
类型“void”上不存在属性“subscribe”。
我已经使用Observable.timer(60000) 实现了相同的功能,但是每个请求都驻留在不同的文件中,因此很难跟踪。
有没有更好的方法来实现它? 请指导。
谢谢
【问题讨论】:
-
你应该使用箭头函数
()= {}而不是function ()
标签: javascript angular rxjs observable