時,我有以下登錄功能:角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'));
}
當我添加了觀察響應不再被返回到登錄組件上的訂閱第二張地圖。提前致謝。
你確定你在第二張地圖中有return語句嗎?由於您使用的是大括號符號,因此不會像以前更簡單的那樣自動返回該函數。 – FraserES