Я пытаюсь заглянуть в RxJS, используя Angular 7.3.1 и RxJS 6.4.Когда я печатаю, каждое нажатие клавиши отправляется вместо того, чтобы в течение некоторого времени перехватить все нажатия клавиши.
my.service.ts
return fromEvent(document.getElementById('input-size-default'), 'input')
.pipe(
debounceTime(500),
map((e: any) => e.target.value),
filter(earlyText => earlyText.length > 3),
distinctUntilChanged(),
switchMap((myText) => ajax.post(this.base_href + ':3000/searchUsers', {user: myText}))
);
component.ts
this.ad.searchCiscoUser()
.subscribe(response => this.showResults({'results': response}), error => this.showResults({'error': error}));
Для поиска я набрал часть своего имени, и вы можете видеть ниже, 9 звонков, которые должны были произойти только один раз.
Результаты: