Obserwacje

Obserwacje ( Observables) nie są cechą Angulara, ale standard zarządzania asynchronicznym przetwarzaniem danych, proponowany dla kolejnych wydań EcmaScript. Angular wykorzystuje implementację tego standardu z biblioteki RxJS.

Obserwacje otwierają ciągły kanał komunikacji, w którym może znajdować się wiele wartości danych
emitowanych w czasie. Z tego otrzymujemy schemat radzenia sobie z danymi za pomocą
operacje tablicowych do analizowania, modyfikowania i utrzymywania danych. Zastosowania Angular Observables to przede wszystkim w obsługa HTTP i wydarzeń w systemie.

Integracja z RxJS

Z Angularem można integrować projekty obsługi stanu - takie jak Redux czy RxJS. Obsługują one jednokierunkowy przepływ danych. Obserwacje pochodzą właśnie z RxJS. Biblioteka RxJS (pełna nazwa: Reactive Extensions) jest wykorzystywana przez Angular do wykrywania i propgowania zmian w aplikacji i propagowania zdarzeń. Obiekt Observer reaguje na zdarzenia, przekazując je subskrybentom za pomocą obiektu Observable . Podstawową funkcją Observable jest subscribe(), wywoływana z trzema parametrami:

  • onNext() - wywoływana po wystąpieniu nowego zdarzenia.
  • onError() - wywoływana po wystąpieniu błędu.
  • onCompleted() - wywoływana po zakończeniu sekwencji zdarzeń.

Tylko pierwszy (onNext) jest obowiązkowy. Przepływem zdarzeń można zarządzać za pomocą zestawu funkcji nazwanych operatorami.

Zobacz: https://blog.angular-university.io/how-to-build-angular2-apps-using-rxjs-observable-data-services-pitfalls-to-avoid/

https://dzone.com/articles/observables-with-the-angular-5