【发布时间】:2019-04-08 22:25:03
【问题描述】:
使用 Angular 7 如何立即和每 X 秒调用一次函数? 这是我在服务中的功能:(仅作为示例)
checkData(): Observable<string> {
return this.http.get('')
.pipe(
map(res => {
let result;
result = {
packageNumber: this.packageNumber,
};
return result;
})
);
}
在我的组件中,我尝试了这样的事情:
private killTrigger: Subject<void> = new Subject();
private fetchData$: Observable<string> = this.packageService.checkData();
private refreshInterval$: Observable<string> = timer(0, 1000)
.pipe(
takeUntil(this.killTrigger),
switchMap(() => this.fetchData$),
catchError(error => of('Error'))
);
如何让它发挥作用?
【问题讨论】:
-
我想你在找interval
-
@WillCain 可以立即使用吗?
-
timer(0, 1000)已经这样做了。你订阅了吗? -
@ChrisK。如果想在没有初始延迟的情况下开始发射,请使用
timer -
timer(0, 1000).pipe(...).subscribe(...)
标签: angular typescript rxjs angular7