问题现象搜索框边输入边联想,是最容易暴露异步竞态的场景。用户快速敲下 “java” 到 “javascript”,浏览器会依次发出多个请求,但网络不保证按发出顺序返回。于是可能出现这样的结果:先发的 “java” 请求反而后到,把后发的 “javascript” 结果覆盖掉;界面上显示的联想词与输入框当前的文字对不上;偶尔还会出现结果闪一下又被刷掉的"抖动"。开发者通常会用一个外部变量手工比对来绕过:letcurrentQuery="";asyncfunctionsearch(query){