Piszę niewielką funkcję użytkową, które owijają wezwanie do angularjs http.get niezbędne nagłówków uwierzytelniania:HTTP RxJS i AngularJS - jak mogę to osiągnąć?
get(endpoint: string): Observable {
var headers = new Headers();
this._appendAuthentificationHeaders(headers, this.user.credentials);
return this.http.get(endpoint, { headers: headers })
.map(res => res.json());
}
Chodzi o to, że jeśli this.user jest null, metoda będzie po prostu wypadek. Więc mam trzy opcje:
- zwróci null i sprawdzić, czy wartości zwracanej na każde wezwanie ...
- wyjątek
- Znajdź sposób, aby również powrócić do zaobserwowania przedmiotu RxJS które będą bezpośrednio wyzwalać obsługa błędów.
Chciałbym wprowadzić trzecią metodę, ponieważ pozwoliłoby to ujednolicić zachowanie tej metody: zawsze zwraca obserwowalne niezależnie od tego, co się stanie.
- Czy masz pomysł, jak to zrobić?
- Czy muszę utworzyć nowy obserwowalny i rodzaj scalenia tych dwóch?
- Co mogę zrobić?
i'l iść do Observable.throw („Użytkownik nie jest null”); Wielkie dzięki! – Clement
Instrukcja "Observable.throw()" okazała się być jednym z najbardziej niedostatecznie wykorzystanych i najbardziej przydatnych szablonów obsługi błędów, które napotkałem w Rx/kątowym 4. – msanford