上下文
我正在使用一个带有自定义SuggestOracle的SuggestBox,它的性能很差。
我输入“a”,所有以字母“a”开头的结果将作为建议返回。由于有很多结果,建议会显示几秒钟的短暂延迟。
但与此同时,我继续打字。所以现在我输入“ab”,结果明显少于“a”。所以建议几乎立即显示出来。
问题
显示“ab”建议后,“a”的回调将返回并覆盖“ab”建议。最后,我有一个与我输入的单词不匹配的建议列表。
我的问题
答案 0 :(得分:0)
有没有办法阻止旧的回调覆盖新的回调?
当您的异步进程返回时,请检查建议框的当前文本是否与原始请求中的文本匹配。然而,这会将oracle与建议框的关系与1:1关系联系起来(如果这是一个问题,你可以有一个做过滤的建议oracle,并委托给一个共享的oracle)。
如果没有,是否有办法在触发建议机制之前至少等待3个字母?
只需在你的建议oracle中执行此操作,返回一个空的请求字符串建议的空列表。