> Как подписываться на изменения в BehaviorSubject и обрабатывать их (JavaScript)

Уровень: senior · Роль: frontend · Категория: Технические вопросы

Компании: ВСК

Стек: JavaScript

> Пример ответа

Для подписки на изменения в BehaviorSubject используется метод .subscribe(). BehaviorSubject - это разновидность Subject, которая хранит последнее значение и автоматически передаёт его новому подписчику при подписке.

Пример:

JAVASCRIPT
import { BehaviorSubject } from 'rxjs';
// Создаём BehaviorSubject с начальным значением
const subject$ = new BehaviorSubject('initial');
// Подписываемся на изменения
const subscription = subject$.subscribe({
next: (value) => console.log('Получено:', value),
error: (err) => console.error('Ошибка:', err),
complete: () => console.log('Завершено')
});
// Эмитируем новые значения
subject$.next('first update');
subject$.next('second update');
// Отписываемся для предотвращения утечки памяти
subscription.unsubscribe();

Особенности:

  • При подписке сразу получаете текущее значение (в примере - 'initial').
  • Каждый вызов next() передаёт новое значение всем активным подписчикам.
  • Обязательно отписывайтесь через unsubscribe() или используйте операторы вроде takeUntil, чтобы избежать утечек памяти.

Для обработки ошибок и завершения используйте соответствующие колбэки в объекте подписки.

> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?

Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью