Взгляд сверху: что такое Observable

Observable – асинхронный паттерн проектирования, в котором данные представлены в виде потока событий. Потоки можно «переиспользовать» – комбинировать, фильтровать, подобно массивам, используя специальные методы – операторы.

Весь список операторов управления потоками доступен на странице официальной документации библиотеки RxJS, являющейся реализацией спецификации Observable.

Браузерная среда подразумевает асинхронное взаимодействие с пользователем – реакция на клики, действия мышкой и клавиатурой, отправка и получение данных с помощью Ajax-запросов, да и просто загрузка ресурсов.

Существуют другие подходы для обработки и группировки асинхронных событий: callbacks, Promises, async/await. Паттерн Observable, в отличие от них, является «макро-паттерном» и позволяет вынести логику обработки и управления асинхронными событиями на отдельный слой приложения.

В Angular модель Observable является внутренним стандартом при отправке и получении событий и данных между участниками приложения – компонентами и сервисами.

Библиотека RxJS не включена в стандартную сборку Angular, однако может быть легко интегрирована для удобства использования операторов. Как – можно подсмотреть здесь.

Есть вопрос? Нужна консультация? Напишите в комментариях!