2
當一個HTTP請求失敗時,我想間隔兩次重試。如果第三次再次失敗,我想把這個錯誤轉發給觀察員。我在最後一部分遇到麻煩。從DataService.get()RxJS 5與角2:重試失敗可觀察,但然後轉發錯誤
HTTP請求
return this.http.get(url,options)
.retryWhen(errors => errors.delay(1000).take(2))
.catch((res)=>this.handleError(res));
認購
this.dataSvc.get('/path').subscribe(
res => console.log(res),
err => console.error(err),
() => console.log('Complete')
);
我的服務器設置爲始終返回一個錯誤(狀態400 Bad request
)。
我想申請做出第二請求,使第3的要求,則拋出錯誤由
this.handleError()
實際發生的被抓:應用程序發出第二請求,使得第三,然後可觀察到完成沒有錯誤( 「完成」 打印到控制檯)
Angular 2 rc.6
,RxJS 5 beta 11
,Typescript 2.0.2
看看https://stackoverflow.com/questions/39928183/angular-2-rxjs-observable- retrywhen-filter-retry-on-error-status/41720854#41720854 –
@ stely000感謝您的鏈接。你的解決方案與我想出的相近(我在發佈問題的同一天下面寫了一個答案) – BeetleJuice