私は以下の問題があります: oAuthからトークンを取得するPOST要求を送信する必要があります。後で別のサービスを介してユーザーコンテキストを作成したいと考えています。しかし、私はObservableを保存する必要があります。コンポーネントの応答に反応したいからです。観測可能に作成し、それを購読して返します
これは適切な方法ですか?
login(username, password): Observable<any> {
let response$ = this._http.post(params)
.map((response: Response) => response.json());
response$.subscribe(v => this._userService.doSmth());
return response$;
}
EDIT:
私は@Maximus応答に基づいて、それを行うための別の方法を発見しました。それは正しい - 私はただ一つの要求をしたい。だから、私はこう書いた:
let response$ = this._http.post(data)
.map((response: Response) => response.json());
let user$ = new Subject<User>();
response$.subscribe(v =>
this._userService.createNewSession(v) // returns observable
.subscribe(u => user$.next(u))
);
return user$.asObservable();
これはいいですか?
コンポーネントのレスポンスに反応するのが好きです._ - なぜですか?それで何をするつもりですか? –
"user logged event"に反応するコンポーネントが必要です。 –