Сделать один pipe и применить для разных событий
Хочу сделать сделать один pipe и применять его для разных событий.
Как это правильно сделать?
import { fromEvent } from 'https://dev.jspm.io/rxjs@6/_esm2015';
import { map } from 'https://dev.jspm.io/rxjs@6/_esm2015/operators';
const search = document.querySelector('input#search');
const myCustomPipe = () => (obs) => obs
.pipe(
map(e => e.target.value),
);
const stream$ = fromEvent(search, 'input');
stream$.subscribe(value => {
console.log(value);
});
stream$.pipe(myCustomPipe());
<input type="text" id="search">
Ответы (1 шт):
Автор решения: Михаил Камахин
→ Ссылка
Подписываться .subscribe надо на Observable, к которому сделан .pipe
const myCustomPipe = () => (obs) => obs.pipe(
map(e => e.target.value)
);
const stream$ = fromEvent(search, 'input');
stream$.pipe(myCustomPipe()).subscribe(v => {
console.log(v);
});
<input type="text" id="search">