[英]Handle error in Subscribe block instead of Http Interceptor
我通过 angular 服务调用 api 如下
this.someservice.save(this.someID, this.payload).subscribe(
res => { },
err => { },
() =>{} );
根据一些业务规则,我从 API 抛出了一个自定义异常,但是当我将调试器放入错误块时,它不显示任何信息,而是跳转到拦截器并在那里显示该信息。
有什么方法可以让我在这里接收这个信息而不是里面的拦截器
err => { debugger; need too get exception here },
原因是我返回了一个自定义错误,仅针对这个 angular 组件(我从这里调用这个服务)所以需要处理这个组件上的错误,但是这个项目已经配置了一个 HTTP 拦截器,它正在捕获所有错误在一处。
您可以像这样从 'rxjs/operators' 导入:
import { pipe, catchError } from 'rxjs/operators';
然后您可以在订阅之前使用它,如下所示:
this.someService.save(...args).pipe(catchError( err => console.log(err)).subscribe();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.