Предполагая, что пользовательский ввод находится в потоке, назовите его userTypingStream$
,
userTypingStream$.pipe(
(debounceTime(5000)
).subscribe(() => this.displayIndicator = false);
Чтобы создать такой поток:
private userTypingStream$: Subject<string> = new Subject();
//...
onKeyPress = (event) => {
this.userTypingStream$.next(event.target.value);
//... and possibly the rest of the keypress handler here.
}
Связанные темы: наблюдаемые и предметы (довольномного неизбежного при разработке приложений Angular).Похоже, это достаточно хорошее место для старта:
https://angular.io/guide/observables
https://blog.angularindepth.com/rxjs-understanding-subjects-5c585188c3e1