我有2项服务(AuthService& AuthRedirectService)
AuthService 使用 Http 服务从服务器获取简单数据{"status": 4}
并return response.json().status
< - number
AuthRediredService 实施 OnActivate 并使用 AuthService 服务。这是唯一的方法 AuthService.GetStatus():number ,但它返回undefined
AuthService
GetStatus(): number {
let status: number;
this.http.get(this.host + "/api/auth/")
.subscribe((value: Response) => {
status = value.json().status;
console.log(value.json().status); // write real number 4
});
return status; // 4
}
AuthRedirectService
canActivate() : boolean
{
console.log(this.auth.GetStatus()); // undefined !!!!!!!!
if(this.auth.GetStatus() == StatusCode.Logined)
{
// redirect code
return false;
}
return true;
}