Angular 如何将HttpResponse转换为HttpErrorResponse

Angular 如何将HttpResponse转换为HttpErrorResponse,angular,Angular,我有一个web服务在一个典型的errors对象中的200响应中返回自定义错误 这打破了我的工作流程和模式,我通常截取正确的HTTP错误状态代码,然后从那里继续处理各种错误案例 我需要通过拦截器将这些自定义错误转换为正确的HttpErrorResponse错误,这样我就可以拦截那些现在正确的错误,并按照通常的最佳实践继续我的应用程序 我不能做的事情: 修改web服务,使其返回正确的HTTP错误 中间有另一个Web服务,用于在响应命中客户端应用程序之前进行转换。 我想做的是: 让下面的Stac

我有一个web服务在一个典型的
errors
对象中的
200
响应中返回自定义错误

这打破了我的工作流程和模式,我通常截取正确的HTTP错误状态代码,然后从那里继续处理各种错误案例

我需要通过拦截器将这些自定义错误转换为正确的
HttpErrorResponse
错误,这样我就可以拦截那些现在正确的错误,并按照通常的最佳实践继续我的应用程序

我不能做的事情:
  • 修改web服务,使其返回正确的HTTP错误
  • 中间有另一个Web服务,用于在响应命中客户端应用程序
  • 之前进行转换。
我想做的是:
  • 让下面的Stackblitz示例起作用。需要修复的部分位于
    拦截器/custom error.interceptor.ts


因此,在不久的将来,当我将在使用相同的不可修改web服务的其他几个应用程序上工作时,我只需将
CustomErrorInterceptor
放进去,就可以结束了。

我的一个朋友刚刚找到了答案:


抛出新的HttpErrorResponse({error:'bar',状态:403})

我的一个朋友刚刚找到了答案:
抛出新的HttpErrorResponse({error:'bar',status:403})