0

上下文

我正在使用带有性能不佳的自定义 SuggestOracle 的 SuggestBox。

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

但与此同时,我继续打字。所以现在我输入了“ab”,结果比单独的“a”少得多。所以建议几乎立即显示出来。

问题

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

我的问题

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

1 回答 1

0

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

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

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

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

于 2015-11-19T16:57:13.523 回答