我有一个服务来处理与后端的交互.我期待捕获401状态,表明用户已被后端注销(令牌到期).因此,当我捕获401时,我保存当前路线,并将它们导航到登录页面.但是,当我发现错误时,路由器服务未定义.这与观察者有关吗?
@Injectable()
export class SiteService {
private url : string = "site";
constructor(
private http: Http,
private authService : AuthenticationService,
private router : Router,
private globals : Globals
){}
addSite(site : Site) : Observable<Site> {
let data = new URLSearchParams();
data.append('auth', this.authService.getToken());
const options = new RequestOptions({
params: data
});
return this.http.post(this.url, site, options).map(response => {
return toSite(response.json().data);
}).catch(this.handleError);
}
changeSite(site : Site) : Observable<Site> {
let data = new URLSearchParams();
data.append('id', this.authService.getToken());
const options = new RequestOptions({
params: data …Run Code Online (Sandbox Code Playgroud)