比如我有个多选框,每次勾选一次,都触发change事件。
这个change事件异步请求数据。请求到数据就刷新一次dom。
现在问题来了。假如我一个一个勾选,比如连续勾选了5个项目,那就发送了5次请求。这样就太耗资源了。
有什么好的办法吗
补充:
我刚看了百度搜索,百度搜索框,你输入一个东西,他会在下面列出搜索联想词。比如你在搜索框快速输入‘abc’这三个字母的时候,他实际上并不是每个字母都发送一次查询。但是你稍微缓慢的输入a、b、c这时候就发送三个查询了。
解决办法:
感觉不算难。
if(vm.is_run) return;
vm.is_run = true;
var t = setTimeout(function (){
vm.is_run = false;
console.log('执行了');
}, 1000);
好像这样会比较好一点:
var t;
clearTimeout(t)
t = setTimeout(function (){
console.log('执行了');
}, 1000);
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…