我正在尝试使用Angulars HttpClient服务通过多次尝试和中间延迟来发出请求。该代码有效,但我在 devTools 网络点击中注意到最终发送并取消了额外的请求。我在这里做错了什么是代码:
return this.http.post<LoginSuccessPayload>('/api/auth/signin', payload).pipe(
retryWhen(errors => {
return errors.pipe(
mergeMap((er: any) => {
if (er.status === 504 || er.status === 503) {
return of(er.status).pipe(delay(1000));
}
return _throw({message: er.error.message || 'Notification.Core.loginError'});
}),
take(3),
concat(_throw({message: 'Notification.Core.networkError'}))
);
})
);