![](/img/trans.png)
[英]How can I handle a 401 Unauthorized response differently from other errors in an Angular 8 service using RxJS?
[英]How can I call an angular service from within a custom rxjs operator?
我正在编写一个自定义rxjs运算符来处理记录HttpClient响应错误。 我的直觉是将自定义运算符放在自己的文件中,该文件仅在需要时包括在内。 但是,这使它脱离了“ Angular世界”,因此它将如何访问我的Angular日志记录服务?
拦截器是一种可能的解决方案。 另一种选择是创建自己的http服务,我更喜欢
class Http{
constructor(private http:HttpClient){}
logging = (res)=>tap(res=>log(res))
preIntercept(options)=>options
post(options){
options=preIntercept(options)
return http.post(options).pipe(logging)
}
}
它只是为您提供了更大的灵活性,并且代码也更加明确。 使用默认拦截器,您会遇到很多if else
情况,因为每个http调用都通过此集中式中心。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.