RxJS Debounced 方法多次触发
RxJS Debounced method fired multiple times
我尝试创建一种等待用户停止写入的方法,之后只发送一个 API 请求。
我不知道为什么 MyCode() 被执行了多次。
我的代码:
async functionASDF(event: KeyboardEvent) {
let source = fromEvent(document, 'keyup');
source.pipe(debounceTime(250)).subscribe(c =>{
MyCode();
});
}
我会按以下方式进行:只需删除该函数,或者如果您在 class 中,请在构造函数中执行它。 (但是如果不再需要该流,请确保取消订阅。否则会造成内存泄漏。)
let source = fromEvent(document, 'keyup');
source.pipe(debounceTime(250)).subscribe(c =>{
MyCode();
});
如果您只需要来自特定 Dom 元素的 keyup,例如输入,您可以用该元素替换 document
。
我尝试创建一种等待用户停止写入的方法,之后只发送一个 API 请求。
我不知道为什么 MyCode() 被执行了多次。
我的代码:
async functionASDF(event: KeyboardEvent) {
let source = fromEvent(document, 'keyup');
source.pipe(debounceTime(250)).subscribe(c =>{
MyCode();
});
}
我会按以下方式进行:只需删除该函数,或者如果您在 class 中,请在构造函数中执行它。 (但是如果不再需要该流,请确保取消订阅。否则会造成内存泄漏。)
let source = fromEvent(document, 'keyup');
source.pipe(debounceTime(250)).subscribe(c =>{
MyCode();
});
如果您只需要来自特定 Dom 元素的 keyup,例如输入,您可以用该元素替换 document
。