用户多次点击调用接口,用防抖来解决。
防抖和节流的区别:
– 效果:
函数防抖是某一段时间内只执行一次;而函数节流是间隔时间执行,不管事件触发有多频繁,都会保证在规定时间内一定会执行一次真正的事件处理函数。
– 原理:
防抖是维护一个计时器,规定在delay时间后触发函数,但是在delay时间内再次触发的话,都会清除当前的 timer 然后重新设置超时调用,即重新计时。这样一来,只有最后一次操作能被触发。
节流是通过判断是否到达一定时间来触发函数,若没到规定时间则使用计时器延后,而下一次事件则会重新设定计时器。
<span class="ma-button-run" :class="{ disabled: isDisableTest }" title="运行(Ctrl+Q)" @click="doTest">
<a-icon type="caret-right" class="ma-icon ma-icon-run" />
</span>```
**方法**
doTest(){
if(!this.isSaveBut) return this.$message.warning('您没有测试此数据源的权限,请联系管理员添加权限!')
if(this.timeout){
clearTimeout(this.timeout)
}
this.timeout = setTimeout(() => {
bus.$emit('doTest')
}, 500);
},
版权声明:本文为weixin_47000834原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。