эта строка 100 this.selectedUserId.pipe(tap(id => console.log(id)) );
возвращает новую наблюдаемую базу selectedUserId
, поэтому вам нужно подписаться на новую наблюдаемую точку, чтобы получить значения и.
Оператор вкладки будет работать на новой наблюдаемой и не влияет на базовую наблюдаемую (selectedUserId)
const obs = this.selectedUserId
.pipe(
tap(id => console.log(id))
);
obs.subscribe()
демо ??
чтобы прояснить, что новая наблюдаемая будет запущена асинхронным каналом, а не то, что значения наблюдаемой изменят базу наблюдаемой субъекта в течение времени
private selectedUserId = new Subject<number>();
public userId$ : Observable<number>;
ngOnInit() {
this.userId$ = this.selectedUserId
.pipe(
tap(id => console.log(id)) ,
);
setTimeout(() => this.selectedUserId.next(1), 1000);
setTimeout(() => this.selectedUserId.next(2), 2500);
setTimeout(() => this.selectedUserId.next(3), 5000);
}
шаблон
{{ userId$ | async }}
демо ??