我想从http链接中每5秒钟点击并显示一次,似乎是使用angular2,可以观察到一个可观察的方式吗?
getPhaseVotes(issue: string) {
return this.http.get(this.URL + 'issue/' + issue + '/getPhaseVotes')
.subscribe(data => this.phase_votes = data.json(),
err => console.log(err),
() => this.getStatus(issue));
}
我应该如何每5秒更新一次?
答案 0 :(得分:4)
您可以使用interval
的{{1}}运算符:
Observable
这样您需要调用@Injeactable()
export class SomeService {
constructor(private http:Http) {}
getPhaseVotes(issue: string) {
return Observable.interval(5000).flatMap(() => {
return this.http.get(this.URL + 'issue/' + issue + '/getPhaseVotes')
.map(res => res.json());
});
}
}
方法并订阅它。每隔5秒,HTTP请求将以透明方式执行,并在订阅的回调中提供结果:
getPhaseVotes
本文可以在“轮询”部分为您提供更多提示: