2017-04-14 66 views
0

我不知道如何處理angular2可觀察對象中的http錯誤。 我有什麼是如何處理來自HTTP觀察對象的錯誤

getContextAddress() : Observable<string[]> { 
     return this.http.get(this.patientContextProviderURL) 
     .map((res:Response) => { 
      return res.json() 
     }) 
     .catch((error:any) => Observable.throw(error.json().error || 'Server error')); 
} 

在有效的URL的情況下,即200個迴應,一切都很好。 我不知道爲什麼當我使用一個不好的url時,響應代碼爲400,沒有錯誤產生。

我該如何處理這種情況?

+0

你是什麼意思*「沒有錯誤生成」*?你在哪裏訂閱這個?你是否向訂閱提供了第二個錯誤處理回調?有任何日誌記錄以查看發生了什麼?請給[mcve]。 – jonrsharpe

回答

1

此代碼只是重新拋出錯誤。你在哪裏捕捉它?

例如,我有這樣的代碼:

this.productService.getProducts() 
    .subscribe(products => this.products = products, 
       error => this.errorMessage = <any>error); 
} 

這捕獲拋出的錯誤並設置ErrorMessage屬性我然後在UI顯示。

0

我沒有捕捉訂閱發生的錯誤。 我的錯誤