在我的ANGLE应用程序中,我想对后端服务器进行一个HTTP调用.为了使其更具弹性,我添加了一个拦截器来实现重试模式.
我过go 常常利用RxJS的retryWhen
操作符,但现在不推荐这样做,所以我这样做:
return next.handle(copiedRequest).pipe(
retry({
count: 5,
delay: 1000,
}),
catchError((error: HttpErrorResponse) => {
if (error.status === 0) {
// Server not responding, so stuff
}
return throwError(() => error);
})
);
问题是,这现在对我的所有HTTP响应状态都有效,而有时当服务器返回某个状态代码时,您知道重试没有意义.有没有办法向重试添加筛选器,以便它可以判断是否实际执行重试?