Observables – это конструкция, на которую вы подписываетесь, чтобы получать информацию об изменениях в данных. Это поток данных, и всякий раз, когда выпускается новый фрагмент данных, наша подписка узнает об этом.

В Angular у нас уже есть наблюдаемые объекты, вы только подписываетесь на них. Вам не нужно их создавать.

Наблюдаемые объекты добавляются с помощью имени пакета RxJS.

Interval — это встроенная функция, которая дает наблюдаемые.

Это даст нам таких наблюдателей, как:

Теперь предположим, что мы сделали это наблюдаемым на домашнем компоненте и перешли к другому компоненту, который теперь называется компонентом профиля.

Если вы проверите инструменты разработчика, вы все равно заметите увеличение счетчика, хотя мы объявили его в домашнем компоненте, но он все еще сохраняется в нашем компоненте профиля.

Таким образом, если мы уходим от компонента, который не останавливает наблюдаемые объекты.

Это может привести к серьезным проблемам, таким как нехватка ресурсов, замедление работы приложения и серьезная утечка памяти

Поэтому вы должны использовать stop observable после использования, для этого мы отписываемся от нашего observable.

Как вы можете отменить подписку на свои наблюдаемые?

  1. заявить о своей частной подписке

2. Вам необходимо импортировать подписку из «rxjs».

3. Теперь мы сохраняем подписку, возвращенную подпиской, в нашей переменной.

4. Теперь вы можете реализовать крючок ngOnDestroy() углового для уничтожения наблюдаемого.

Теперь всякий раз, когда мы покидаем компонент, мы очищаем подписку, отписываясь от нее, и предотвращаем утечку памяти.

Важное замечание:

Все наблюдаемые пакеты Angular, такие как http, параметры, встроенные в angular Observable, вам не нужно беспокоиться об отмене подписки, Angular обрабатывает это автоматически. Поэтому в большинстве случаев наблюдаемых Angular мы не отписываемся.