我使用observables進行Http調用,它一直工作正常,但後來我改變了我的控制器,並注意到我的代碼顯然沒有處理錯誤。Angular 2:http.get中Observable無法處理錯誤
這裏看看代碼從我的服務(SellingMenuService):
public getVarieties(): Observable<any> {
return this.http.get(this.varietyListUrl).map(response => {
return response.json();
}, (error: any) => {
console.log(error);
console.log('error finding variety list');
// TODO: implement error handling here.
});
}
這裏是我的組件的相關代碼:
constructor(public sellingMenuService: SellingMenuService) { }
getVarietyList(): void {
this.sellingMenuService.getVarieties().subscribe(res => {
console.log(res);
this.varieties = res;
});
}
如果我得到一個500錯誤,不應該從我的服務上面的控制檯日誌被擊中?他們爲什麼不呢?
[下面是官方推薦的方法(https://angular.io/docs/ts/latest/ guide/server-communication.html#!#錯誤處理)來處理來自_Angular.io_的HTTP請求的異常。在頁面底部的Plunker上有一個[現場示例](https://embed.plnkr.co/?show=preview)鏈接(轉到'/ app/toh/hero.service.ts'請參閱HTTP客戶端服務的代碼)。 –