export class AppComponent {
title = 'angular-instant-search';
searchKeyword: string;
latestSearch = new Subject<string>();
results: any[];
constructor(private archiveService: ArchiveService) {
this.latestSearch.pipe(
// To retrieve new data from HTTP if at least 500ms since the last change
debounceTime(500),
// Only emit new value if the term is change
distinct()
).subscribe(keyword => {
this.archiveService.getArchive(this.searchKeyword).subscribe(res => this.results = res.response.docs);
});
}
newSearch(searchKeyword): void {
this.latestSearch.next(searchKeyword);
}
}
This project was generated with Angular CLI version 10.1.3.
Run ng serve
for a dev server. Navigate to http://localhost:4200/
. The app will automatically reload if you change any of the source files.
Run ng generate component component-name
to generate a new component. You can also use ng generate directive|pipe|service|class|guard|interface|enum|module
.
Run ng build
to build the project. The build artifacts will be stored in the dist/
directory. Use the --prod
flag for a production build.
Run ng test
to execute the unit tests via Karma.
Run ng e2e
to execute the end-to-end tests via Protractor.
To get more help on the Angular CLI use ng help
or go check out the Angular CLI README.