gpt4 book ai didi

angular - 我如何每 1 秒调用一次服务并使用 angular2 检查响应?

转载 作者:搜寻专家 更新时间:2023-10-30 22:05:23 26 4
gpt4 key购买 nike

我有如下实现的服务,

export class UploadPollingService {
constructor(private http: Http, private appConfig: AppConfigService) { }
checkUploadInfo(term: string, ): Observable<Event[]> {
return this.http
.get(this.appConfig.getAPIUrl() + `/checkStatus?processId=${term}`)
.map(this.extractData)
.catch(this.handleErrors);
}

我在组件内部使用它,我想每 1 秒调用一次该服务并检查状态,基本上是进行轮询。怎么办?

this.uploadPollingService.checkUploadInfo()

最佳答案

你必须像这样在 timeinterval 内使用你的服务方法

   ngOnInit(){
this.interval = setInterval(() => {
this.checkUpdate();
}, 1000);
}

ngOnDestroy() {
if (this.interval) {
clearInterval(this.interval);
}
}

checkUpdate(){
this.uploadPollingService.checkUploadInfo()
.subscribe(res => {
console.log(res, "Response here");
},
err => {
console.log(err);
})
}
....



export class UploadPollingService {
constructor(private http: Http, private appConfig: AppConfigService) { }
checkUploadInfo(term?: string): Observable<Event[]> {
return this.http
.get(this.appConfig.getAPIUrl() + `/checkStatus?processId=${term}`)
.map( res => {
return [{ status: res.status, json: res.json() }]
})
.catch(this.handleErrors);
}

关于angular - 我如何每 1 秒调用一次服务并使用 angular2 检查响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42919831/

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