呼び出しています5回にもかかわらず、HTTPリクエスト:useronjがコンソールに5回印刷されます角度2つの負荷私は例えば、一度だけ
ngOnInit()
{
this.user = new User();
this.result = new Result();
this.route.params
.switchMap((params: Params) => this.user.id = params['id'])
.subscribe((user: User) => this.getUser());
}
getUser()
{
this.result.updateInfo("getting records...")
this.user.id = this.user.id.toLowerCase();
this._serivce.getUser(this.user.id).subscribe(userobj =>
{
this.user = userobj;
console.log(userobj);//five times
},error => this.result.updateError(error));
}
。 サービス:
getUser(id: string) {
return this.http.get(<url>, { headers: this.headers })
.map(this.extractData)
.catch(this.handleError);
}
更新:のみngOnInitはそれも一度だけ、getUserメソッドを呼び出します!
どのメソッドがgetUser()を呼び出すかによって異なります。この例のコード全体を投稿する必要があります。 – Picci