我想延迟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”功能?