我试图在失败后返回http.get请求的状态,但以下代码不起作用:
fileExists(url){
var status="";
this.http.get(url)
.map(res => res.json())
.subscribe(
data => console.log(data),
err =>{
console.log(err.status)
status=err.status});
console.log("Status is: "+status);
return status;
}
我希望status=err.status
在变量中设置状态,但它不起作用
答案 0 :(得分:1)
您必须与res
合作才能res.status
。
一旦获得res.json()
,您就会失去状态以及其他信息。 res.json()
的作用是返回res._body
答案 1 :(得分:0)
以下代码会将http request
状态存储在变量中。发送请求后,屏幕上会显示status
变量。
export class App {
private status: string;
constructor(private http: Http) {
this.http.get(`someNotExistingJSON.json`)
.subscribe(res => {
console.log("success")
},
err => {
console.log(err.status);
this.status = err.status;
}
)
};
getStatus(){
console.log(this.status);
}
}
<强> Plunker 强>