I am writing an Angular Service to prove a Users permissions. In the constructor I want to get the current logged in user from an API. The current User which is created is used in other methods of this Service. This Methods are called from components to check which things can be shown and so on. 
The problem is that the methods in the service are called faster than the current user is available.
Are there any possibilities solving this issue?

**permission.service.ts**

```js
@Injectable()
export class PermissionService {
  currUser = {
    'id': "",
    'permission': ""
  };
  apiService: AlfrescoApiService;
  authService: AuthenticationService;

  constructor(apiService: AlfrescoApiService, authService: AuthenticationService) {
    this.apiService = apiService;
    this.authService = authService;

    this.init();
  }

  init() {
    let userId: string = this.authService.getEcmUsername();    
    this.currUser.id = userId;

//API call
    this.apiService.sitesApi.getSiteMember(SITENAME, userId).then(resp => {
      this.currUser.permission = resp.entry.role;
    })
  }

  isSiteManager(): boolean {
    console.log(this.currUser.permission, this.currUser);
    if(this.currUser.permission === "SiteManager"){
      return true;
    }else{
      return false;
    }
  }
}
```

**method call**

```
export class AppLayoutComponent {

  constructor(permissionService:PermissionService) {
    permissionService.isSiteManager();
  }

}

```

**output in Google Chrome**

> 
> {id: "admin", permission: ""}  
> 
>  id: "admin"permission: "SiteManager" 
> 
> 
>