【发布时间】:2017-09-29 14:31:53
【问题描述】:
我正在寻找在 Angular4 中处理失败的 PUT HTTP 请求的最佳实践指南。
我的场景:一个简单的组件将尝试通过使用 put 请求调用 API 来更新记录。
示例代码sn-ps:
我的组件包含以下代码:
this.workStreamService.save(this.workStream);
这是在名为 workStreamService 的服务上调用一个方法,该服务具有以下代码:
save(workStream: WorkStream): Promise<WorkStream> {
const url = this.workStreamUrl + '/' + workStream.id;
return this.http
.put(url, JSON.stringify(workStream), {headers: this.headers})
.toPromise()
.then(() => workStream)
.catch(this.handleError);
}
代码大部分是从 Angular4 教程复制粘贴和改编的,但该教程的深度不足以处理错误/成功。
API 不返回任何类型的响应正文、对象或 DTO,只返回 HTTP 状态代码。 200 成功,500 出错。
如果传递的 workStream 对象正常,并且服务正在运行并且没有抛出错误,则此方法可以正常工作。在服务可能失败并返回 500 的情况下,我希望能够在组件中以不同于 200 响应的方式处理此问题。 (例如 - 组件将显示“成功”消息,或将向用户显示“此调用失败”消息以提示他们重试)。
我对 Angular4 很陌生,找不到任何这种处理的例子。提前感谢您的帮助
【问题讨论】:
标签: angular angular4-httpclient