Понимание Observables и Observers простым способом

CoderStudio, 24.03.2023 12:57
Понимание Observables и Observers простым способом

Наблюдаемые - важная концепция в реактивном программировании. Они обеспечивают способ обработки асинхронных потоков данных и событий.

Observable - это обертка для потока данных. Поток данных может быть любым - от щелчков мыши до данных, получаемых из базы данных.

Наблюдатель - это обертка для действий, которые вы предпринимаете, когда к вам поступают данные от наблюдаемого объекта. Наблюдатель - это объект, который содержит три функции, называемые: next, error и complete.

Далее, когда данные успешно передаются наблюдателю из Observable. Ошибка возникает, когда входящее значение из Observable выдает ошибку. После возникновения ошибки наблюдаемая завершается, и после этого ничего не произойдет. А complete - это когда поток данных, в который обернута наблюдаемая, завершается.

Чтобы дать вам лучшее представление о том, как работают Observables, рассмотрим пример. Представьте, что вы - производственный рабочий в компании Ford.

Ваша задача - стоять на производственной линии и красить все поступающие двери автомобилей в красный цвет. Если дверь автомобиля в хорошем состоянии, вы красите ее в красный цвет, если дверь автомобиля имеет некоторые дефекты, вы вынимаете ее и выбрасываете в мусорный бак, а если не осталось ни одной двери автомобиля, вы можете покинуть производственную линию.

В данном примере производственная линия является наблюдаемой, а поток данных - это двери входящих автомобилей. Наблюдателем являетесь вы. Следующий - это когда дверь автомобиля в хорошем состоянии, ошибка - когда дверь автомобиля неисправна, и завершение - когда на производственной линии не осталось ни одной двери автомобиля.

Для иллюстрации этой идеи я создал Stackblitz здесь