定期更新Angular2中的Observable值

时间:2016-03-18 14:11:23

标签: javascript events angular observable

我想从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秒更新一次?

1 个答案:

答案 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

本文可以在“轮询”部分为您提供更多提示: