我正在尝试通过使用以下代码访问终结点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);
});
但是我想这仍然会抛出“未知错误”。
从我的 Angular 来看
GET https://endpoint/file.php?someParams net::ERR_INTERNET_DISCONNECTED
从浏览器本身派生而来,Angular无法访问。
关于angular - 处理http.get()中的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49412823/