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'状态码作为回应? –
你是什么意思“不真正的工作。”请记住,您可以使用相同的处理程序来获得成功和失败。您只需根据您获得的响应(成功或失败)发送不同的信息。在该处理程序中,您可以根据该信息设置您想要的任何内容。所以,如果处理程序得到“错误”,请返回此处,否则返回。 –