GWT Suggestbox:较旧的回调会覆盖较新的回调

时间:2015-11-19 15:21:34

标签: gwt callback suggestbox

上下文

我正在使用一个带有自定义SuggestOracle的SuggestBox,它的性能很差。

我输入“a”,所有以字母“a”开头的结果将作为建议返回。由于有很多结果,建议会显示几秒钟的短暂延迟。

但与此同时,我继续打字。所以现在我输入“ab”,结果明显少于“a”。所以建议几乎立即显示出来。

问题

显示“ab”建议后,“a”的回调将返回并覆盖“ab”建议。最后,我有一个与我输入的单词不匹配的建议列表。

我的问题

  • 有没有办法阻止旧的回调覆盖新的回调?
  • 如果没有,是否有办法在触发建议机制之前至少等待3个字母?
  • 任何其他解决方案的想法?

1 个答案:

答案 0 :(得分:0)

  

有没有办法阻止旧的回调覆盖新的回调?

当您的异步进程返回时,请检查建议框的当前文本是否与原始请求中的文本匹配。然而,这会将oracle与建议框的关系与1:1关系联系起来(如果这是一个问题,你可以有一个做过滤的建议oracle,并委托给一个共享的oracle)。

  

如果没有,是否有办法在触发建议机制之前至少等待3个字母?

只需在你的建议oracle中执行此操作,返回一个空的请求字符串建议的空列表。