Как дополнить библиотеку RxJs функцией update() для запуска next()?

Я не нашёл возможности в RxJs изменить BehaviorSubject только если значение изменено.
(да, конечно мы можем в подписке написать DistinctUntilChanged), но я о первоначальном добавлениии в стрим.
Я хочу, что б сперва проверялось .getValue() и если оно отличается, то выполнить next()
Как такое сделать?
Это с прототипом или декоратором или ещё как-то ?
  • Вопрос задан
  • 18 просмотров
Решения вопроса 1
Aetae
@Aetae Куратор тега TypeScript
Тлен
Трогать родной BehaviorSubject не стоит, не одному тебе потом с ним работать.

Ты мог бы написать свой вариант довольно просто таким образом:
class DistinctBehaviorSubject<T> extends BehaviorSubject<T> {
  next(value: T) {
    if (this.value !== value)
    	super.next(value);
  }
}
Но я на вскидку не скажу какие тут могут быть подводные камни.)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы