根据这个问题,我们使用deboucing进行像facebook这样的实时搜索
Facebook Style AJAX Search
但这是我的情况,当我将超时设置为 300ms 时,首先我键入查询 A 并等待 300ms 然后触发 ajax 请求,但是当等待服务器响应查询 A 时,我执行另一个查询 B,300ms 后,查询 A 的响应最终出现,然后立即显示查询 B 的响应, 所以你看到 2 个结果闪烁,如何防止这种情况?(取消第一个请求什么的?
根据您返回的结果数量,我看到 2 种可能的操作:
- 不要发出新请求,而是等待旧请求完成并使用新的搜索值对其进行筛选
- 取消第一个请求并启动另一个请求。
仅当第一个请求返回的项目多于显示的项目时,第一种方法才会正常工作。