【问题标题】:Angular 2 http does not catch connection refused errorAngular 2 http 未捕获连接被拒绝错误
【发布时间】:2017-04-24 15:04:50
【问题描述】:

我想捕获所有 http 错误以通知用户发生的问题。

所以,我创建了一个通过 catch 执行 http get 的方法。

get(path: string): Promise<any> {
  let headers = new Headers();
  return this.http.get(path, { headers: headers })
    .toPromise()
    .then(response => { ... })
    .catch((response: Response) => { this.errorHandler(response); });
}

当路径参数为 '/fault-url' 时,捕获按预期处理。

但是当路径是 'http://localhost:5000/fault-url' 时,catch 方法没有捕获到错误。 我已将日志记录添加到所有不同的地方,但它使 get 方法中止。 控制台日志显示以下错误

选项http://localhost:5000/fault-url net::ERR_CONNECTION_REFUSED

异常:响应状态为:0,URL 为空

未捕获的响应 {_body: ProgressEvent, status: 0, ok: false, statusText: "", headers: Headers...}

http 真的中止了还是我做错了什么?

【问题讨论】:

    标签: angular typescript http try-catch


    【解决方案1】:

    升级到 Angular 2.3.0 后问题解决了。

    【讨论】:

    • 你能给我详细说明如何处理这个错误吗?
    • 对不起@duardbr,我不明白你的问题。如果在执行 get 请求时发生错误,catch 返回失败的原因。例如,此原因可用于通知用户。
    猜你喜欢
    • 2015-04-07
    • 1970-01-01
    • 1970-01-01
    • 2019-06-15
    • 2013-08-29
    • 1970-01-01
    • 1970-01-01
    • 2019-08-31
    • 1970-01-01
    相关资源
    最近更新 更多