Взгляд сверху: что такое Observable
Observable – асинхронный паттерн проектирования, в котором данные представлены в виде потока событий. Потоки можно «переиспользовать» – комбинировать, фильтровать, подобно массивам, используя специальные методы – операторы.
Весь список операторов управления потоками доступен на странице официальной документации библиотеки RxJS, являющейся реализацией спецификации Observable.
Браузерная среда подразумевает асинхронное взаимодействие с пользователем – реакция на клики, действия мышкой и клавиатурой, отправка и получение данных с помощью Ajax-запросов, да и просто загрузка ресурсов.
Существуют другие подходы для обработки и группировки асинхронных событий: callbacks, Promises, async/await. Паттерн Observable, в отличие от них, является «макро-паттерном» и позволяет вынести логику обработки и управления асинхронными событиями на отдельный слой приложения.
В Angular модель Observable является внутренним стандартом при отправке и получении событий и данных между участниками приложения – компонентами и сервисами.
Библиотека RxJS не включена в стандартную сборку Angular, однако может быть легко интегрирована для удобства использования операторов. Как – можно подсмотреть здесь.
Есть вопрос? Нужна консультация? Напишите в комментариях!