2016-12-09 31 views
5

我想捕获所有http错误以通知用户发生的问题。Angular 2 http无法捕获连接拒绝错误

所以,我创建了一个方法,做一个http获取一个catch。

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'时,按照预期处理catch。

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

OPTIONS http://localhost:5000/fault-url网:: ERR_CONNECTION_REFUSED

例外:响应,状态:0网址:空

未捕获的响应{_body:ProgressEvent,状态:0,OK :false,statusText:“”,headers:Headers ...}

是否真的中止或我做错了什么?

回答

1

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

+0

你能告诉我有关如何处理这个错误的细节吗? – duardbr

+0

对不起@duardbr,我不明白你的问题。 如果在执行获取请求时发生错误,catch将返回失败的原因。这个原因可以例如用于通知用户。 –

相关问题