То, что вы описываете, звучит как классическая функциональность заголовка.
Я бы рекомендовал прочитать об операторе debounceTime()
. Typeahead
Это прекратит прием дополнительных запросов, пока не пройдет определенное время, и только затем передаст ваш запрос.