0

根据这个问题,我们使用 deboucing 进行实时搜索,例如 facebook

Facebook 风格的 AJAX 搜索

但这是我的情况,当我将超时设置为 300 毫秒时,首先我输入查询 A 并等待 300 毫秒然后触发 ajax 请求,但是当等待服务器响应查询 A 时,我执行另一个查询 B,并在 300 毫秒后,查询A的响应终于出现了,然后查询B的响应也立即出现了,所以你看到2个结果闪烁,如何防止这种情况?(取消第一个请求还是什么?)

4

1 回答 1

1

根据您返回的结果数量,我看到 2 个可能的操作:

  • 不要发出新请求,而是等待旧请求完成并使用新搜索值过滤它
  • 取消第一个请求并开始另一个请求。

第一种方法仅在第一个请求返回的项目多于显示的项目时才能正常工作。

于 2012-06-04T14:03:07.720 回答