現在Angles2サイトに機能を追加して、現在ログインしているユーザーの名前を表示しています。Observableを購読するとバックエンドへの無限HTTPリクエスト
私はバックエンドサービスから必要な情報を取得できるようです。しかし、問題のフロントエンドコードが実行されている場合、バックエンドへの要求は、1つの要求だけが必要なときに、できるだけ速く、繰り返し送信されます。
この無限ループのリクエストは、オブザーバブルを購読するようにコードを変更したときに開始されました。購読しないと、フロントエンドサービスから取得できる情報は使用できませんでした。それは以下の例のように見えました。
{"_isScalar":false,"source":{"_isScalar":false},"operator":{}}
コンポーネント
loggedInUser() {
this.authService.loggedInUser().subscribe(res => {
this.currentUser = res;
return this.currentUser;
})
}
フロントエンドサービス
loggedInUser() {
const userId = localStorage.getItem('userId');
return this.http
.get('http://localhost:3000/user/current/' + userId)
.map((response: Response) => {
const user = response.json();
return user;
})
私はこれが本当にスタックオーバーフロー上の他の記事を読んでから "無限ループ" ではないことを学びました。しかし、私はこれらの他の投稿の解決策を理解することができませんでした。
ありがとうございました!