2
我試圖做一個http請求,然後返回響應對象或布爾值。不知道哪一個是重要的。但我無法捕捉到錯誤。我有一個handleError函數,但它並不真正的工作。如何在http請求中獲取狀態碼Angular2
我的代碼現在看起來像這樣。
服務
updateProduct(product: Product): Promise<number> {
return this.http.put('/api/products/1' + product.id,product)
.toPromise()
.then(response => response.status)
.catch(this.handleError);
}
private handleError(error: any): Promise<any> {
//console.error('An error occurred', error); // for demo purposes only
return Promise.reject(error.message || error);
}
保存功能
onSave(): void {
this.productService.updateProduct(this.product)
.then(() => this.goBack())
.catch(er => console.log(er));
}
我怎樣才能得到這個工作?
所以你得到'4xx'狀態碼作爲迴應? –
你是什麼意思「不真正的工作。」請記住,您可以使用相同的處理程序來獲得成功和失敗。您只需根據您獲得的響應(成功或失敗)發送不同的信息。在該處理程序中,您可以根據該信息設置您想要的任何內容。所以,如果處理程序得到「錯誤」,請返回此處,否則返回。 –