を追加する場合:角度2回の観察可能休憩私は、次のログイン機能を持つコールバック・ロジック
login(payload: Object) {
return this.http.post(this.apiUrl, payload)
.map(res => res.json())
.catch((error: any) => Observable.throw(error.json().error || 'Server error'));
}
私は、ログインの上、このようにそれを呼び出し、それが正常に動作します:
this.sk_auth.login(this.loginCreds).subscribe((response)=>{
console.log(response);
//here we can do anything we want with the response.
if(response.success){
sessionStorage.setItem('token', response.token);
sessionStorage.setItem('user', JSON.stringify(response.user));
});
問題は、私が必要だということです私は応答を返す前に何かをする。私はこれを試しました:
login(payload: Object) {
return this.http.post(this.apiUrl, payload)
.map(res => res.json())
.map((res)=>{
//do some stuff...
})
.catch((error: any) => Observable.throw(error.json().error || 'Server error'));
}
2番目のマップを追加すると、観測可能な応答はもはやログインコンポーネントのサブスクリプションに返されなくなります。前もって感謝します。
2番目のマップにreturn文がありますか?中かっこ表記を使用しているので、前のより単純なものと同じように、その関数からの自動復帰はありません。 – FraserES