Angular2HTTP:为什么不尝试捕获机制工作?

Angular2HTTP:为什么不尝试捕获机制工作?,angular,Angular,我在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); }); } cat

我在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");
    }
  }
嗯,这条路。。。它坏了。我希望try块中的代码会创建一个错误,然后catch块中的代码会被激活。但是没有。我得到的是一个错误。你知道为什么吗


顺便说一句,这里没有相同的原产地政策问题

因为它像承诺一样异步。在引发任何异常之前,函数已返回

你可以用

...subscribe(
  res => {
  },
  err => {
  })