Angular 2 http catch路由器导航无法正常工作

时间:2017-06-21 12:29:47

标签: angular http router handleerror

我正在检查记录的用户令牌,如果身份验证失败(返回401错误)我想重定向到登录。我遇到的问题是当我犯错误时抓住router.navigate不起作用。

constructor(private http: Http , private  router : Router )


authUser(){
        return this.http.get(this.baseEndPoint+'/auth/user',Helpers.requestAuthOptions())
            .map((response) => response.json())
            .catch(this.handleError.bind(this));
    }

 public handleError = (error) => {
        this.router.navigate(['/login']);
        console.log('Hello!');//Hello appears in my console
        return Observable.throw(error);
    };

1 个答案:

答案 0 :(得分:0)

只需导入RxJS catch Extension。  import 'rxjs/add/operator/catch';

How to catch exception correctly from http.request()?