angular - 在 Angular Exception 和错误方法订阅中没有相同的信息异常
问题描述
当系统出现异常时,我的后台 API 返回自定义异常。
我可以在其中捕获它的信息,.subscribe(data => {}, error { // HERE })
并在 Chrome/F12/Network 中看到它。
但我需要在 Angular Interceptor 中获取此信息,以免为每个订阅编写所有错误方法。
catchError() Angular 拦截器中的 Rxjs 没有此信息。
解决方案
您可以通过以下方式在拦截中获取自定义错误消息:
intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
return next.handle(request).pipe(
catchError(err => {
if (err.status === 401) {
// code
}
const error = err.error.message || err.statusText;
return throwError(error);
}))
}
推荐阅读
- python - 在python中对每一行进行编号
- c# - Unity:使用 Resources.LoadAll 加载包含音频文件的子文件夹
- wordpress - Wordpress 简码显示问题
- php - 致命错误:在第 31 行的 C:\wamp\www\p3\controller\backend.php 中的非对象上调用成员函数 getid()
- c - 将字符串元素复制到另一个字符串时出现分段错误
- mysql - 每当我查询 MySql DB 时,我的 Firebase 云函数都会给出 SequelizeConnectionError: connect ETIMEDOUT 错误
- android - BLE 长期后台扫描工作非常糟糕
- r - Textcat过滤器较长的对象长度不是较短对象长度的倍数
- python - 出现错误时休眠,python
- debian - Apache2 虚拟主机不起作用(Debian 8)