typescript 用于以单一方式管理所有HTTP错误的错误拦截器
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了typescript 用于以单一方式管理所有HTTP错误的错误拦截器相关的知识,希望对你有一定的参考价值。
import {Injectable} from '@angular/core';
import {HttpHandler, HttpRequest, HttpInterceptor} from '@angular/common/http';
import {throwError} from 'rxjs';
import {catchError} from 'rxjs/internal/operators';
import {ErrorService} from '../my-services/error.service';
@Injectable({
providedIn: 'root'
})
export class HttpErrorInterceptor implements HttpInterceptor {
construct(private errorService: ErrorService) {}
intercept(req: HttpRequest<any>, next: HttpHandler) {
return next.handle(req).pipe(
catchError(error => {
let errorMessage = '';
if (error instanceof ErrorEvent) {
// client-side error
errorMessage = `Client-side error: ${error.error.message}`;
} else {
// backend error
errorMessage = `Server-side error: ${error.status} ${error.message}`;
}
// aquí podrías agregar código que muestre el error en alguna parte fija de la pantalla.
this.errorService.show(errorMessage);
return throwError(errorMessage);
})
);
}
}
以上是关于typescript 用于以单一方式管理所有HTTP错误的错误拦截器的主要内容,如果未能解决你的问题,请参考以下文章
以编程方式为 Typescript 中的颜色添加不透明度
系统架构设计了解
linux文件管理(结构)
内存连续分配管理方式
Typescript模块在同一个文件中以不同方式解析'rxjs'
vuex