Що робить BehaviorSubject у сервісах стану?
BehaviorSubject - це тип Subject із бібліотеки RxJS, який зберігає останнє надіслане значення й одразу віддає його новим підписникам.
У сервісах стану його використовують, щоб:
- Зберігати поточний стан (наприклад, поточного користувача, налаштування, прапорець завантаження).
- Дозволяти компонентам підписуватися на потік і отримувати як актуальне значення, так і всі подальші зміни.
- Змінювати стан через виклик
next(), що автоматично сповіщає всі підписані компоненти.
Приблизно так:
typescript
private user$ = new BehaviorSubject<User | null>(null);
setUser(user: User) {
this.user$.next(user);
}
getUser(): Observable<User | null> {
return this.user$.asObservable();
}На відміну від Subject, BehaviorSubject вимагає початкове значення й завжди віддає останнє під час нової підписки.
Коротка відповідь
Для співбесідиPremium
Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.