錯誤代碼的HTTP請求: -如何處理多個錯誤代碼的場景在以下
400 - 對響應到達執行single
重試without delay
502,503和504執行eight
次數的重試與1000 Sec delay
我的代碼如下: -
private _getData('loginKey', body, headers) {
return this._http.post('url', body, { headers: headers })
.map((response: Response) => response.json())
.retryWhen(errors => {
return errors
.mergeMap((error) => this.handleError(error))
.delay(2000)
.take(8);
});
}
public handleError(error: Response | any): Observable<any> {
if (error.status === 400) { // retry 1 time and with no delay
return Observable.of(error);
} else { // retry confgured times and configured delay
return Observable.of(error);
}
}
我的問題是如何根據上述錯誤代碼改變delay
和take
值:
如果error.status
是然後delay value 0
和take value 1
如果error.status
是502,503和504然後delay value 2000
和take value 8
如果我的回答回答你的問題,你會接受嗎? –
是肯定它是否會有所幫助。 –
我已經更新我的答案 –