0
私の状況で私は認証ガードCanActivate()
すべてのルートのユーザーアクセスを制限していますが、条件値はhttp要求Promiseオブジェクトから取得されています。 Promise then()とcatch()にアクセスしてCanActivate(): Boolean
関数に戻すにはどうしたらいいですか?約束を含む関数にthen()/ catch()の結果を返すには?
私のコードは次のようになります。
// On AuthService
verfifyUser(): Promise<any> {
return this.http
.get(`api/auth/verify-user`, { headers: this.headers })
.toPromise()
.then(res => res.json() as any);
}
// On AuthGuardService
CanActivate(): Boolean {
this.authSrv.verfifyUser(some_user).then(result => {
// return true
}).catch(err => {
// return false
});
}
私はまだこの問題を解決する方法を見つけることができません。
こんにちはを書くことができる機能で:「いくつかのパス/」、コンポーネント:ClientComponent、canActivate: [AuthGuard]} '? –
@ ShiftN'Tabもちろん、それは 'canActivate'関数の一つの変形です –
私はあなたに感謝しています! –