Я хочу отложить запрос ajax.Поэтому я хочу написать директиву для всех входных данных, в которых есть событие, которое делает запрос ajax.
HTML
<input delayXHR (input)="makeXHR($event)">
Я могу получить изменения в следующей директиве и написать функцию задержки.
Директива
import { Directive, HostListener } from '@angular/core';
@Directive({
selector: '[delayXHR]'
})
export class SearchDelayDirective {
constructor() { }
@HostListener('input') delayXHR() {
let timer;
return function (callback, ms) {
clearTimeout(timer);
timer = setTimeout(callback, ms);
};
}
}
Как я могу заставить XHR ждать?Как я могу запустить / остановить функцию "makeXHR"?