gpt4 book ai didi

javascript - 定期更新 Angular2 中的 Observable 值

转载 作者:行者123 更新时间:2023-11-30 09:51:48 24 4
gpt4 key购买 nike

我想每 5 秒从一个 http 链接中点击并显示一次,似乎使用 angular2,observable 是可行的方法吗?

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

最佳答案

您可以使用 Observableinterval 运算符:

@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());
});
}
}

这样您需要调用一次 getPhaseVotes 方法并订阅它。每 5 秒,将透明地执行一个 HTTP 请求,并在订阅的回调中提供结果:

@Component({
(...)
})
export class SomeComponent {
constructor(private service:SomeService) {
this.service.getPhaseVotes('someissue')
.subscribe(data => this.phase_votes = data,
err => console.log(err),
() => this.getStatus(issue));
}
}

本文可以在其“投票”部分为您提供更多提示:

关于javascript - 定期更新 Angular2 中的 Observable 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36086596/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com