Как можно манипулировать входным событием в директиве в угловых? - PullRequest
0 голосов
/ 26 февраля 2019

Я хочу отложить запрос 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"?

...