Наблюдаемые - важная концепция в реактивном программировании. Они обеспечивают способ обработки асинхронных потоков данных и событий.
Observable - это обертка для потока данных. Поток данных может быть любым - от щелчков мыши до данных, получаемых из базы данных.
Наблюдатель - это обертка для действий, которые вы предпринимаете, когда к вам поступают данные от наблюдаемого объекта. Наблюдатель - это объект, который содержит три функции, называемые: next, error и complete.
Далее, когда данные успешно передаются наблюдателю из Observable. Ошибка возникает, когда входящее значение из Observable выдает ошибку. После возникновения ошибки наблюдаемая завершается, и после этого ничего не произойдет. А complete - это когда поток данных, в который обернута наблюдаемая, завершается.
Чтобы дать вам лучшее представление о том, как работают Observables, рассмотрим пример. Представьте, что вы - производственный рабочий в компании Ford.
Ваша задача - стоять на производственной линии и красить все поступающие двери автомобилей в красный цвет. Если дверь автомобиля в хорошем состоянии, вы красите ее в красный цвет, если дверь автомобиля имеет некоторые дефекты, вы вынимаете ее и выбрасываете в мусорный бак, а если не осталось ни одной двери автомобиля, вы можете покинуть производственную линию.
В данном примере производственная линия является наблюдаемой, а поток данных - это двери входящих автомобилей. Наблюдателем являетесь вы. Следующий - это когда дверь автомобиля в хорошем состоянии, ошибка - когда дверь автомобиля неисправна, и завершение - когда на производственной линии не осталось ни одной двери автомобиля.
Для иллюстрации этой идеи я создал Stackblitz здесь