Вы можете использовать setter
, если у вас нет контроля над функциями, которые устанавливают значение для name
, или если вы просто хотите избежать добавления логики к каждой из этих функций (если их много):
const _subject = new Subject();
// keep good practise and do not subscribe to Subjects:
const observable$ = _subject.asObservable();
let _name;
set name(name) {
_name = name;
subject.next(name);
};
// also adding a getter in case you want to use 'name' somewhere else
get name() {
return _name;
}
// magic happens here
observable$.subscribe(_name => {...});
setTimeout(_ => {
name = 'foo';
}, 1000);
это будет излучаться каждый раз, когда name
получает значение, но вы можете для.ех.pipe(take(1))
и будет излучаться только один раз - после того, как name
получит значение