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