2
と呼ばれる角度2のサービスを使用して、JWTトークンをチェックし、それが自分のゲストであるかログインしているメンバーであるかを知るために使用します。角2サービスの初期化ロジック
サービスが開始されるたびにトークンを私のLocalStorage
から得ることができますが、何らかの理由でそれが3回(サービスを使用するコンポーネントごとに)探していて、1回のみ取得しなければならないと確信していますすべてのコンポーネントに対してブラウザを意味
がロード:はい、それは動作しますJwtService.ts:
export class JwtService {
private jwtToken = localStorage.getItem("jwt");
public myData = this.getUserData();
constructor(public router: Router,private http: Http) {
}
getToken() {
return this.jwtToken;
}
setToken(theToken)
{
localStorage.setItem('jwt', theToken);
this.jwtToken = localStorage.getItem("jwt");
}
logOut()
{
this.jwtToken = null;
localStorage.removeItem("jwt");
this.router.navigate(['Home']);
}
getUserData()
{
console.log("Getting user..");
this.http.get('http://localhost/PokemonAPI/public/api/v1/thisUser?token='+this.getToken())
.map((res:Response) => res.json())
.subscribe(
data => {this.myData = data.user;
console.log()
},
err => {
this.JwtService.checkToken(err);
console.error(err); },
() => console.log("User logged!");
);
}
getUser()
{
return this.myData;
}
}
が、私は私のブラウザコンソールをチェックすると、私はこれを見る私の次のコードで
ルック3回サービスし、HTTP GETを1回で3回使用しました。 なぜこれが起こりうるのですか?
角2のマスターに感謝します! – TheUnreal