3
我有下面的代碼:角2:返回時,未捕獲的錯誤可觀察
import { Injectable } from '@angular/core';
import { Router, CanActivate } from '@angular/router';
import { Angular2TokenService } from 'angular2-token';
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/toPromise';
import 'rxjs/add/operator/catch';
@Injectable()
export class AuthGuard implements CanActivate {
constructor(
private _tokenService: Angular2TokenService,
private router: Router) {}
canActivate():Observable<boolean>|boolean {
return this._tokenService.validateToken().map(res => {
return res.json().success;
});
}
}
當我打開我的網頁,通過AuthGuard
去,我得到:
未捕獲的(以諾) :狀態響應:401未經授權的網址: http://localhost:4200/api/auth/validate_token
預計401狀態。我不明白的是如何簡單地讓我的canActivate()
函數返回false
當答覆是401.我該怎麼做?