繁体   English   中英

处理订阅块中的错误而不是 Http 拦截器

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM