如何继续HTTP直到找到结果



我有一个http调用,当开始调用前几秒钟是错误404,直到结果来到数据库:

this.http.get(`http://localhost:44301/consentinitiation/${this.qid}`).subscribe(s=>{
console.log(s);
},error=>(error));

我想把它放在while

里面
shouldCall=true;
while(shouldCall){
this.http.get(`http://localhost:44301/consentinitiation/${this.qid}`).subscribe(s=>{
console.log(s);
shouldCall=false;
},error=>(error));}

的问题是浏览器崩溃与这种方法,你知道吗?

最简单的方法是使用retry操作符,它将重试流直到成功

this.http.get(`http://localhost:44301/consentinitiation/${this.qid}`)
.pipe(retry())
subscribe(s=>{
console.log(s);
},error=>(error));

您也可以添加一个参数来指定最大重试次数,例如retry(5)

最新更新