我有一个文本框,用户可以在其中输入他所在区域的名称,并根据他的键入显示一些选项。我正在进行api调用以获取可能的数据。api是用nodejs编写的。我正在使用bootstrap.typeahed来显示可能的建议。每当用户键入字母时,我都会进行api调用。这样做已经完成,但是如果用户输入速度非常快,我将面临一个问题。然后,api调用将不会以调用时的顺序返回,因此用户有时会看到错误的数据。如何预防呢?如果以后的api调用已经结束,我可以拒绝api调用吗?
使用ng-model-options并将其设置为debounce
在计时器到期时调用api。如果有人快速键入,它将捕获多个字母,而以较慢的速度一次捕获一个字母。这将减少空间,因此不会产生混淆。如果延迟时间很短,则它将平稳运行而不会出现明显的延迟。
将此属性添加到您的元素
ng-model-options="{ debounce: 400 }"
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句