问题描述
我试图创建一种方法,等待用户停止写操作,之后只发送一个API请求。
我不知道为什么,但是MyCode()被多次执行。
我的代码:
async functionASDF(event: KeyboardEvent) {
let source = fromEvent(document,'keyup');
source.pipe(debounceTime(250)).subscribe(c =>{
MyCode();
});
}
解决方法
我将通过以下方式进行操作:只需删除该函数,或者如果您在一个类中,请在构造函数内执行此操作。 (但是请确保如果不再需要该流,请取消订阅。否则,会导致内存泄漏。)
let source = fromEvent(document,'keyup');
source.pipe(debounceTime(250)).subscribe(c =>{
MyCode();
});
如果您只需要来自特定Dom元素的键入命令,例如输入,您可以用该元素替换document
。