一个函数检查服务的任何http是否失败

时间:2018-01-19 08:04:31

标签: angular

我的应用程序中有很多服务和许多http请求。 我想警告用户警告框中有api连接有问题,但我不想编辑每个服务中的每个http功能。我可以在一个地方做这个吗?

1 个答案:

答案 0 :(得分:2)

Interceptors 是要走的路。但是,您必须使用新的HttpClient而不是旧的,即将弃用的Http

这样的事情:

@Injectable()
export class ErrorHandlerService implements HttpInterceptor {

  constructor() { }

  intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
    return next
      .handle(req)
      .catch(err => {
        console.log('HTTP error occured');
        return Observable.throw(err);
      });
  }

}