Я бы сказал, что вы должны попытаться использовать наблюдаемые, прежде чем попасть в Аякс. Наблюдаемые из библиотеки rxjs позволят вам спланировать, как использовать автозаполнение, чтобы избежать ненужного попадания на сервер. Одним из примеров является время отката, так что вы не запускаете новый поиск каждый раз, когда пользователь печатает, а вместо этого ждете пару секунд, пока пользователь закончит печатать. Это также позволит вам избежать попадания на сервер, когда у пользователя есть опечатка и он использует backspace.