2016-09-01 19 views
5

Mam kilka kursów na temat Angular i odkryłem, że istnieją różne sposoby zarządzania danymi z żądania HTTP.Angular Http - toPromise lub subskrybuj

  • Korzystanie obserwabli, .map(), .subscribe()
  • Korzystanie obietnic .toPromise(), .then(), .catch()

Użyłem toPromise() w mojej aplikacji, jak znajdę to podobne do angularjs Http usług.

W jakim scenariuszu potrzebowałbym użyć Observables?

+1

Angular2 polega głównie na "Observables". Wolałbym używać 'subscribe()' dla spójności. – j2L4e

Odpowiedz

12

Jeśli podoba Ci się reaktywny styl programowania i chcesz być spójny w swojej aplikacji, aby zawsze używać obserwowalnych, nawet dla pojedynczych zdarzeń (zamiast strumieni zdarzeń), użyj obserwowalnych. Jeśli to nie ma znaczenia dla Ciebie, użyj toPromise().

Jedną z zalet obserwowalnych jest możliwość anulowania żądania.

Zobacz także Angular - Promise vs Observable

+2

Dodałbym tylko ładny przykład przewagi obserwowalnej w samouczku: https://angular.io/docs/ts/latest/tutorial/toh-pt6.html#!#-_observable-s (odroczone wyszukiwanie) –