阿里校园招聘笔试题
编写搜索框组件过程中,要求搜索结果实时响应,但是每次都向服务器发送请求会给服务器造成压力。所以要求在用户不断点击搜索按钮的过程中,实现一个通用函数,接受一个参数action代表一个函数,第二个参数threshold用于指定频率,返回一个新的函数。当按钮被点击时候,如下所示:
const fn=function(func,threshold){
}
const triggerSearch=fn(
(val)=>{const{onSearch}=this.propsonSearch(val)},
300)
triggerSearch(searchText);
<!DOCTYPE html> <html> <head> <title></title> </head> <body> <button onclick="triggerSearch('cc')">search</button> <script type="text/javascript"> var int=0; function fn(search,threshold){ var triggerSearch=function(txt){ if(int){ clearInterval(int); } //用j计数,如果达到所设定的threshold则执行search函数 var j=0; var f2=function(){ j+=100; if(threshold<=j){ j=0; search(txt); clearInterval(int); } } int=setInterval(f2,100); } return triggerSearch; } //模拟向后台发送查询请求---------------- function search(txt){ console.log("send message to server: "+txt); } var triggerSearch=fn(search,1000); </script> </body> </html>优质内容筛选与推荐>>