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.