angular 10 コンストラクターの oidc-client からの promise の解決に時間がかかりすぎているため、コンストラクターがユーザー変数に値を配置する前に isLoggedIn 関数が呼び出されています。
これは私のコードです:
import { UserManager, UserManagerSettings, User } from 'oidc-client';
export class AuthService {
private user: User = null;
private manager = new UserManager(getClientSettings());
privatecachedRequests: Array<HttpRequest<any>> = [];
constructor() {
this.manager.getUser().then(user => {
this.user = user;
});
}
isLoggedIn(): boolean {
return this.user != null && !this.user.expired; <= this.user is null because the constructor did not finished the async part
}
このコードはAngular 8で機能していました
isLoggedIn メソッド内で getUser() 関数を呼び出すと機能しましたが、コンストラクターからこれを使用したいと思います