如何正确赶上例外,从http.request()? [英] How to catch exception correctly from http.request()?
本文介绍了如何正确赶上例外,从http.request()?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我的code的部分:
import {Injectable} from 'angular2/core';
import {Http, Headers, Request, Response} from 'angular2/http';
import {Observable} from 'rxjs/Observable';
import 'rxjs/add/operator/map';
@Injectable()
export class myClass {
constructor(protected http: Http) {}
public myMethod() {
let request = new Request({
method: "GET",
url: "http://my_url"
});
return this.http.request(request)
.map(res => res.json())
.catch(this.handleError); // Trouble line.
// Without this line code works perfectly.
}
public handleError(error: Response) {
console.error(error);
return Observable.throw(error.json().error || 'Server error');
}
}
myMethod的()
产生的异常浏览器的控制台:
myMethod()
produces exception in console of browser:
原始异常:类型错误:。this.http.request(...)地图(...)美中不足的是不是一个函数
ORIGINAL EXCEPTION: TypeError: this.http.request(...).map(...).catch is not a function
如何解决?
推荐答案
或许你可以尝试在进口增加的:
Perhaps you can try adding this in your imports:
import 'rxjs/add/operator/catch';
您也可以这样做:
return this.http.request(request)
.map(res => res.json())
.subscribe(
data => console.log(data),
err => console.log(err),
() => console.log('yay')
);
这篇关于如何正确赶上例外,从http.request()?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文