我在Angular 2项目中编写了以下代码:
ngOnInit () {
try {
this.http.request("http://29.media.tumblr.com/ZabOTt2mpdp8ljaxp88lwdhP_400.jpg").subscribe((res: Response) => {
console.log(res.url);
this.urls.push(res.url);
});
} catch(e) {
console.log("Error");
}
}
嗯,路径" http://29.media ......"被打破。我希望try块中的代码会产生错误,然后catch块中的代码将被激活。但不是。我得到的是一个错误。你知道为什么吗?
顺便说一下,这里没有Same-Origin-Policy问题。
答案 0 :(得分:1)
因为它像承诺一样异步。在抛出任何异常之前,该函数已经返回。
您可以使用
...subscribe(
res => {
},
err => {
})