如何在Angular 2中等待服务的响应

时间:2017-08-17 11:57:51

标签: angular typescript

这是我的代码

canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {
    let isAuthenticated: boolean = false
    this.authServiceLocal.isAuthenticated().then(response => isAuthenticated = response)

    if(isAuthenticated){
      return true
    }

    // not logged in so redirect to login page with the return url
    this.router.navigate(['/login'], { queryParams: { returnUrl: state.url }});
    return false

  }

我想等待服务的响应,然后检查isAuthenticated的值 我从服务器获得了真实和错误的值,因此在api调用中没有问题。

1 个答案:

答案 0 :(得分:0)

您可以等待响应并在数据可用后执行操作。将您的代码更改为以下内容

/**
 * Implementation of expand_password_confirm.
 */
function register_alter_password_confirm($element) {
    $element['pass1']['#attributes'] ['class'][] = 'inputxlarge';
    $element['pass2']['#attributes'] ['class'][] = 'inputxlarge';
    return $element;
}