我无法使 setInterval 正常工作,Time参数值基于我的API(Observable方法)
我的服务:
getInterval(): Observable<string>{
return this.http.get('http://my.api/dashboard/api/sysparam/refreshinterval')
.map((res:Response) => <string> res.json().refreshInterval)
}
这是我的观察到获得间隔值:
this.ConnectionService.getInterval().subscribe(
data => {
this.interval_2 = data;
}
)
如果我这样说:
this.intervalStatisticalIndicator = setInterval(() => {
this.getDataStatisticalIndicator();
},this.interval_2);
页面只是保持刷新,因为它忽略了 interval_2
中的值但如果我手动将任何数字分配给变量(没有可观察的),它就可以正常工作。
我做错了吗?我应该使用其他方法代替观察吗? 我对角度和角度都很陌生。 javascript的事情所以请任何帮助将赞赏
答案 0 :(得分:0)
您只能使用observable执行此操作。您不需要setInterval
。
import { switchMap } from 'rxjs/operators';
import { interval } from 'rxjs/observable/interval';
this.ConnectionService.getInterval()
.pipe(switchMap(data => interval(data))
.subscribe(() => this.getDataStatisticalIndicator())