Angular 2.服务返回未定义

时间:2016-12-02 22:05:44

标签: angular typescript dependency-injection angular-services

我有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;
  }

0 个答案:

没有答案