0
运行HTTP调用我有叫我的API这样的服务:角2:区间
return this._http
.post(apiUrl + 'Controller/Action', params, {withCredentials: true, headers: this.headers})
.timeoutWith(8000, Observable.defer(() => Observable.throw(this._feedbackService.timeout())))
.map((response: Response) => response.json().data);
我调用该函数从我的组件是这样的:
this._mySub = this._myService.getSomething()
.subscribe(
response => this._listOfSomething = response,
error => this._loggerService.log(2, "warn", "Error bla bla")
);
我如何在一个时间间隔运行HTTP调用?
我尝试这样做:
this._mySub = this._myService.getSomething()
.interval(15000)
.startWith(0)
.subscribe(
response => this._listOfSomething = response,
error => this._loggerService.log(2, "warn", "Error bla bla")
);
但是,上面写着:
住宅 '区间' 的类型不存在 '可观察<任何>'
我种了它的工作方式如下:
Observable.interval(15000).subscribe(() => {
this.refreshList();
});
refreshList() {
this._mySub = this._myService.getSomething()
.subscribe(
response => this._listOfSomething = response,
error => this._loggerService.log(2, "warn", "Error bla bla")
);
}
但是这似乎在几乎随机的时间触发HTTP调用,并且以这种方式设置它时感觉不对。
这样做效果更好。谢谢。唯一的“缺点”是我必须在设置间隔之前手动调用'this.updateData()',而不是使用像'startWith(0)'这样的东西。 –