Observables – это конструкция, на которую вы подписываетесь, чтобы получать информацию об изменениях в данных. Это поток данных, и всякий раз, когда выпускается новый фрагмент данных, наша подписка узнает об этом.
В Angular у нас уже есть наблюдаемые объекты, вы только подписываетесь на них. Вам не нужно их создавать.
Наблюдаемые объекты добавляются с помощью имени пакета RxJS.
Interval — это встроенная функция, которая дает наблюдаемые.
Это даст нам таких наблюдателей, как:
Теперь предположим, что мы сделали это наблюдаемым на домашнем компоненте и перешли к другому компоненту, который теперь называется компонентом профиля.
Если вы проверите инструменты разработчика, вы все равно заметите увеличение счетчика, хотя мы объявили его в домашнем компоненте, но он все еще сохраняется в нашем компоненте профиля.
Таким образом, если мы уходим от компонента, который не останавливает наблюдаемые объекты.
Это может привести к серьезным проблемам, таким как нехватка ресурсов, замедление работы приложения и серьезная утечка памяти
Поэтому вы должны использовать stop observable после использования, для этого мы отписываемся от нашего observable.
Как вы можете отменить подписку на свои наблюдаемые?
- заявить о своей частной подписке
2. Вам необходимо импортировать подписку из «rxjs».
3. Теперь мы сохраняем подписку, возвращенную подпиской, в нашей переменной.
4. Теперь вы можете реализовать крючок ngOnDestroy() углового для уничтожения наблюдаемого.
Теперь всякий раз, когда мы покидаем компонент, мы очищаем подписку, отписываясь от нее, и предотвращаем утечку памяти.
Важное замечание:
Все наблюдаемые пакеты Angular, такие как http, параметры, встроенные в angular Observable, вам не нужно беспокоиться об отмене подписки, Angular обрабатывает это автоматически. Поэтому в большинстве случаев наблюдаемых Angular мы не отписываемся.