我有一個http
觀察到像這樣,在我UserService
:angular2 - 導航後可觀察到的是完整的
logout() {
return this.http.delete(this.baseUrl + url, {
headers: this.headers()
}).map((res: IResponse) => {
var json = res.json();
json.headers = res.headers;
return json;
}).subscribe((response) => {
//DO SOMETHING, THEN ----
return res;
});
}
我已經創建了一個可觀察到的,並創建了一個訂閱(response
),這是成功的返回值。現在
,在我的部分,我想打電話給UserService.logout()
然後導航到一個新的路線:
logout() {
this.userService.logout();
this.router.navigate(['LandingPage']);
}
很明顯,這可能是異步的,我可能最終我的導航在註銷之前。
使用的承諾,我可以做這樣的事情:
this.userService.logout().then(() => { this.router.navigate(['LandingPage']); });
我怎樣才能做到與觀測同樣的事情?在我的UserService
類中,我想創建一個observable,訂閱它,在成功或錯誤時做一些事情,然後從我的view組件導航。
非常有用的例子。謝謝:-) – brinch