http - 如何在Angular2中获取http请求中的状态代码

标签 http angular typescript

我正在尝试发出一个http请求,然后返回响应对象或 bool 值。哪一个并不重要。但我无法发现错误。我有一个handleError 函数,但它并没有真正起作用。

我的代码现在看起来像这样。

服务

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));
}

我怎样才能让它发挥作用?

最佳答案

我看到你在 error.message 存在时返回它

return Promise.reject(error.message || error);

如果您想对其进行操作,请返回整个error对象,而不仅仅是message

返回Promise.reject(错误);

关于http - 如何在Angular2中获取http请求中的状态代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42003304/

相关文章:

javascript - 动态添加JavaScript和CSS : Speed and Performance (Need-to-Know)

angular - 如何在浏览器控制台中停止由 zone.js 生成的错误?

Angular2 路由组件与父组件的交互

javascript - Node 看不到模块

angular - 运行 jasmine 测试用例后出现错误 :- TypeError: this. snackBarRef.dismiss 不是一个函数

javascript - 选择具有关系的repository.find() 上的属性(TypeORM)

cordova - 无法在 Ionic 4 应用程序中绕过 CORS

arrays - 从 Http GET 创建 Swift 数组

java - 自动监控HTTP资源

angular - 如何让api调用一对一而不是并发