0
如何从承诺中返回值并将其包含在全局变量中?退出角度承诺时的返回值4
我试图让这个形成,但无济于事。全局变量未定义
import { Injectable } from '@angular/core';
import {ActivatedRouteSnapshot, CanActivate, CanLoad, Route, Router, RouterStateSnapshot} from '@angular/router';
import { Observable } from 'rxjs/Observable';
import { Auth } from '../providers/auth';
@Injectable()
export class AuthGuard implements CanActivate, CanLoad {
_check: boolean;
constructor(private auth: Auth, private router: Router) {
console.log(this.check());
}
canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean> | boolean {
return this.check();
}
canLoad(Route: Route): Observable<boolean> | boolean {
return this.check();
}
check() {
this.auth.check().then((user) => {
if (!user) {
this._check = null;
}else {
this._check = true;
}
});
console.log(this._check) <---- undefined
return this._check;
}
}
你好。我需要check()函数来返回true或false。谢谢 –
你可以在块中返回this._check。我会稍后更新我的答案。 – nightElf91
@ user2716095我已更新我的答案。如果它帮助您找到解决方案,请选择它作为答案。 – nightElf91