模板中的Angular2 Observable错误处理

时间:2016-09-13 05:51:09

标签: angular typescript rxjs angular2-template

我喜欢带有可观察物的新角度的方法。它阻止我们编写.done().fail().always()的长链。就像在JQuery中一样。它仅在NG2的引擎盖下使用| async pipe。但是在为myObservable加载数据时可能存在异常情况的情况如何呢?有没有办法弄清楚模板中的observable失败了?

// sample.component.ts

class SimpleComponent{
   myObservable:Observable<string>;
   constructor(private _someService:SomeService){
       myObservable = _someService.getSomeDataByHttp();
   }
}

// simple.component.html

<div>
   <div>
      {{myObservable | async}}
   </div>
   <div (anyErrorInObservable)="myObservable"> // Some kind of construction to figure out that observable failed to load
       Oops, some kind of error appeared while fetching myObservable.
   </div>
</div>

我知道可以使用.catch()完成此操作。但我希望有一些更好的方法。

感谢任何进展

1 个答案:

答案 0 :(得分:2)

目前无法处理模板中的错误。您可以使用catch()之类的运算符来确保错误无法到达模板。

另请参阅此相关未解决问题https://github.com/angular/angular/issues/7539