我有一个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)