首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当服务器响应410 (gone)时,如何防止AngularJS2抛出错误?

当服务器响应410 (gone)时,如何防止AngularJS2抛出错误?
EN

Stack Overflow用户
提问于 2016-04-18 01:47:02
回答 1查看 232关注 0票数 0

我有一个对资源执行删除操作的AngularJS2应用程序。服务器删除该资源并以410-GONE应答。AngularJS2认为这是一个错误。我如何告诉AngularJS2 410是一个正确的答案?

我的代码:

代码语言:javascript
复制
deleteOrganisatie(id: number) {
    let headers = new Headers({ 'Content-Type': 'application/json', 'Accept': 'application/json' });
    let options = new RequestOptions({ headers: headers });
    return this.http.delete(this._url + id, options)
        .map(res => <Melding>res.json().melding)
        .catch(this.handleError);
}
private handleError(error: Response) {
    return Observable.throw(error.json().error || 'Server error');
}

不用说,该资源在服务器上被删除。

EN

回答 1

Stack Overflow用户

发布于 2016-04-18 02:46:26

您可以通过在handleError方法中返回带有Observable.of的响应来完成此操作:

代码语言:javascript
复制
deleteOrganisatie(id: number) {
  let headers = new Headers({ 'Content-Type': 'application/json', 'Accept': 'application/json' });
  let options = new RequestOptions({ headers: headers });
  return this.http.delete(this._url + id, options)
    .map(res => <Melding>res.json().melding)
    .catch(this.handleError);
}

private handleError(error: Response) {
  if (error.status === 410) {
    return Observable.of(error.json());
  } else {
    return Observable.throw(error.json().error || 'Server error');
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36679998

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档