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