繁体   English   中英

处理http.get()中的错误

[英]Handling error in http.get()

我正在尝试通过使用以下代码访问终结点URL

this.http.get<IApiResponse>(this.endpointURL, {headers: headers, params: params}).subscribe(
            (response:IApiResponse) => {         
              // handle response
            },
            error => {
              // handle error
              console.log(error);
            }
          );

此方法可以正常工作。 但是,当我运行此应用程序的设备没有互联网连接时,我在Chrome控制台中得到以下输出:

GET https://endpoint/file.php?someParams net::ERR_INTERNET_DISCONNECTED

HttpErrorResponse {headers: HttpHeaders, status: 0, statusText: "Unknown Error", url: null, ok: false, …}
error:ProgressEvent {isTrusted: true, lengthComputable: false, loaded: 0, total: 0, type: "error", …}
headers:HttpHeaders {normalizedNames: Map(0), lazyUpdate: null, headers: Map(0)}
message:"Http failure response for (unknown url): 0 Unknown Error"
name:"HttpErrorResponse"
ok:false
status:0
statusText:"Unknown Error"
url:null
__proto__:HttpResponseBase

第二个输出似乎是console.log(error); ,但是这一内容没有提供任何有用的信息( "Unknown Error" )。 而且我不知道第一个错误消息是从哪里来的(控制台中的背景为红色),但这是包含实际有用信息的信息,我无法访问它。

我该如何确定

error => {

}

范围?

您可以执行以下操作:

import { Response } from '@angular/http';


(error: Response) => {
   const text = error.text();
   console.log(text);
});

但是我想这仍然会抛出“未知错误”。

从我的角度来看

GET https://endpoint/file.php?someParams net::ERR_INTERNET_DISCONNECTED

从浏览器本身派生而来,Angular无法访问。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM