嗨,使用 React,我在一个组件中得到了这段代码,当外部实体名称更改时,它会进行查询。所以它来自应用程序某处的另一个输入。当它更改时,我的其他组件会更新并运行该请求。外部输入已经在 250 毫秒时去抖动,但我想对这段代码进行去抖动,以确保我不会无缘无故地向服务器发送太多请求。我在那里使用 debounceTime(5000) 来测试它,但它只是立即发生。我的服务器现在是本地的,所以得到响应非常快。我想知道我在 debounceTime 函数上做错了什么。
const url = formField.getRequest(entity);
const headers = Headers.getDefaultHeaders(context);
headers.Accept = 'application/json';
headers['Content-Type'] = 'application/json';
ajaxObservable = ajax({
url,
method: 'get',
headers,
}).pipe(
debounceTime(5000),
map((response) => {
const options = formField.parseResponse(response.response);
doneCB(options.sort());
}),
catchError(() => of({})),
);
ajaxObservable.subscribe(() => {});```
Thanks a lot!