‹input (keyup)="search($event.target.value)" id="name" placeholder="Search"/› withRefresh = false; packages$: Observable; private searchText$ = new Subject (); search(packageName: string) { this.searchText$.next(packageName); } ngOnInit() { this.packages$ = this.searchText$.pipe( debounceTime(500), distinctUntilChanged(), switchMap(packageName => this.searchService.search(packageName, this.withRefresh)) ); } constructor(private searchService: PackageSearchService) { }