тап это сайдэффект, он в на следующий результат в пайпе не влияет, грубо говоря
можно сделать с помощью takeWhile https://www.learnrxjs.io/operators/filtering/takewhile.html
enter$ = source$.pipe( takeWhile((e: KeyboardEvent) => e.key === 'Enter'), tap(() => console.log('Enter')) ); other$ = source$.pipe( skipWhile((e: KeyboardEvent) => e.key === 'Enter'), debounceTime(200), tap(() => console.log('other')) ); merge(enter$, other$)
Обсуждают сегодня