Angular отмена отправки запроса

У меня есть rest приложения, с ангуляра отправляю запросы на сервер для поиска данных. Данные отправляются каждые полторы секунды при вводе новых значений (аля живой поиск). Как я могу реализовать отмену отправки запроса, если он еще не пришёл? Т.е. я отправляю первый запрос и за ним сразу же второй, если ответа на первый еще нет надо чтобы сразу отображался ответ второго, без отображения первого. Подскажите, пожалуйста, каким способом я могу это реализовать.

Комонент ангуляр:

    ngAfterViewInit() {
    fromEvent(this.input.nativeElement, 'input')
        .pipe(
            filter(Boolean),
            debounceTime(150),
            distinctUntilChanged(),
            tap((text) => {
                this.searchNotes();
            })
        )
        .subscribe();
}
searchNotes() {
    this.page = 0;
    this.getNotes();
}
    getNotes() {
    this.getCountNotes();
    this.isLoaded = false;
    this.noteService.getNotes(this.page, this.sortBy, this.searchNoteValue)
        .subscribe((notes: Note[]) => {
            this.userNotes = notes;
            this.isLoaded = true;
        }, error => {
            if (error.status === 403) {
                this.logOut();
            }
        });
}

notesService:

    getNotes(page: number, sortBy: string, searchValue: string) {
    return this.http.get(`/notes?page=${page}&sortBy=${sortBy}&searchValue=${searchValue}`);
}

Ответы (1 шт):

Автор решения: qwabra

это не ответ на вопрос

это небольшое IMHO по работе с формами по типу проверки орфографии

Я не хочу останавливать бэк, пускай он там перегрузиться хоть. Я на фронте хочу отоброжать только один последний результат, а не все вызванные – джанго123

See David Corbacho's article for details over the differences between .debounce and .throttle.

→ Ссылка