繁体   English   中英

Angular 2-处理每个http响应

[英]Angular 2 - handle every http response

如何为每个http响应创建类似回调的内容,以检查服务器是否返回401错误以重定向登录页面上的用户。

我找到了我所需要的

import {XHRBackend, Request, XHRConnection, Response} from '@angular/http';
import {Observable} from 'rxjs/Observable';
import 'rxjs/add/operator/catch';
import 'rxjs/add/observable/throw';

export class CustomXHRBackend extends XHRBackend {
  public createConnection(request: Request): XHRConnection {
    let connection: XHRConnection = super.createConnection(request);
    connection.response = connection.response
      .catch(this.handleError);

    return connection;
  }

  private handleError(error: Response | any) {
    console.log(error['status']);
    if(error['status'] === 401) {
      console.log('Navigate to login page.');
    }

    // <- HERE I CAN CATCH EVERY NEEDED ERROR USING switch operator

    return Observable.throw(error);
  }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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