积跬步 至千里
一般情况下,如果代码质量和网络环境都还不错的情况下,基本点击了一个按钮向后台提交数据后,就会有响应的提交提示,但是如果出现不稳定的情况,可能就会出现点一次后台还没响应完成,又点击提交了一次,会造成数据多次的提交,怎么防止双击或者连续点在后台没有响应之前多次提交呢?
答案就是自己设置一个标识为,作为开关阀门,其实这就是JS 中的节流,没错就是节流。节流的时间段就是本次和后端交互没有得到相应之前拒绝再次访问
小例子
<script>
let flag = 0
function commit() {
if (flag == 0) {
flag = 1
// 模拟request API
setTimeout(() => {
flag = 0
console.log('你好你好你好')
}, 2000)
}
}
commit()
commit()
</script>
马克·吐温曾说过:'让我们陷入困境的不是无知,而是确信无疑的谬误。'