2016-09-13 5 views
1

Ich mag den Ansatz der neuen eckigen mit Observablen. Es hindert uns daran, eine lange Kette von .done().fail().always() zu schreiben. wie in JQuery. Es passiert unter der Haube in NG2 mit nur | async pipe. Aber wie wäre es mit dem Fall, wenn beim Laden von Daten für myObservable ein Ausnahmefall auftreten könnte. Gibt es eine Möglichkeit, herauszufinden, ob das Observable in der Vorlage fehlgeschlagen ist?Angular2 Observable Fehlerbehandlung in der Vorlage

// 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> 

Ich weiß, dass diese .catch() mit getan werden kann. Aber ich hoffe, dass es einen besseren Ansatz gibt.

Vielen Dank für jedes Voraus

Antwort

2

Es gibt derzeit keine Möglichkeit, Fehler in der Vorlage zu behandeln. Sie können Operatoren wie catch() verwenden, um sicherzustellen, dass Fehler die Vorlage nicht erreichen.

Siehe auch diese verwandte offene Ausgabe https://github.com/angular/angular/issues/7539

Verwandte Themen