我需要使用HTTP库来检查服务器上是否存在文件。这很简单,我所做的只是调用以下代码:Angular 2,可以忽略Http.get 404
private serverHeadRequest(): Observable<any> {
return this.http.head("theFileName.xxx")
.map(this.isResponseOkCallBack)
.catch(this.handleError);
}
private isResponseOkCallBack(res: Response) {
switch (res.status) {
case 404:
return false;
case 200:
return true;
default:
return false;
}
}
private handleError(error: any) {
let errMsg = (error.message) ? error.message :
error.status ? `${error.status} - ${error.statusText}` : 'Server error';
console.error(errMsg); // log to console instead
return Observable.throw(errMsg);
}
如果响应是200,那么代码运行良好。不过,我想简单地在任何其他类型的响应代码上返回false。
我试过这个作为替代的错误处理程序,我认为如果出现错误就会返回错误,但这不起作用。
private handleError(error: any) {
return Observable.create()
.map({
return false;
});
}
我该如何得到这个工作?有没有办法忽略某些状态码?
非常感谢
JT
是的,这工作。将404打印到控制台很好。虽然这种设计并不理想,但没有可用的服务器端脚本来执行任何处理。只是文本文件。非常感谢您的帮助@dfsq –