博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于js中连续click时不执行访问后台请求,当点击停止2s之后,立即发起访问后台的请求的解决方案
阅读量:4093 次
发布时间:2019-05-25

本文共 762 字,大约阅读时间需要 2 分钟。

防止用户重复向后台发起大量请求,下面我们通过一个例子实现:

当连续点击修改温度的值时,页面上显示的值每次都根据具体情况做出修改,但是将这个值保存的数据库的操作则是在点击操作结束后2s发起的(其中若连续多次点击改变温度的值,则只是在用户最后一次修改完成后2s执行保存到数据库的操作)

点击按钮如图:

处理流程图:

算法分析

*按钮的动作主要负责:1.当没有计时时开启计时2.当已经存在计时是将计时归0,并重新开始计时

*计时器方法的主要负责:保证计时器运行,当计时达到2时,执行访问数据库的业务方法并关闭计时器。

代码实现:

var baseTime=0;	var timer="";//定时器标识	function timedCount(flag){		if(flag=="true"){ //按钮点击事件点击执行的代码块			baseTime=0;			clearInterval(timer);//清除原有的计时器			timer=setTimeout("timedCount('false')",1000);//参数位false表示计时器一直执行		}else if(flag=="false"){//计时器自己调用的代码块负责一直让baseTime累加			baseTime=baseTime+1;			timer=setTimeout("timedCount('false')",1000);			if(baseTime>3){				excuChangeTemp(object);//执行业务方法				clearInterval(timer);			}		}	}

代码实现中参数flag的作用:当是点击事件的方法调用该计时器时,flag=true,当定时器自己递归调用自己的时候,flag=false;

你可能感兴趣的文章
左手代码,右手带娃,还能发十几篇 paper,程序员女神是如何炼成的?
查看>>
你以为的90% AI 难点,其实都搞错了!正确的学习方式是这些!
查看>>
专访:持续学习收获万名铁粉,看新晋博主如何学习编程
查看>>
“提离职后老板要给我加薪,我应该留下吗?”
查看>>
从Python到AI,这条路好走吗?
查看>>
程序员靠接外包,6个月当了老板,这操作绝了...
查看>>
Python怎么学?数据分析、人工智能、爬虫又该怎么学?一文总结
查看>>
程序员,大晚上不回家你干啥呢???
查看>>
谷歌低调了 5 年的 Fuchsia OS,终于有望面世了!
查看>>
“30以上不配转行”:大龄转行,还来得及吗?
查看>>
进退两难的硅谷程序员们
查看>>
Python入门从哪开始?学习路线是这样的!
查看>>
微信,知道你所有的秘密
查看>>
招行人均年薪65万:想要涨薪,你需要知道这3点
查看>>
乔布斯18岁求职信拍卖价22.24万美元,值吗?
查看>>
为何程序员总喜欢写技术博客,看完恍然大悟...
查看>>
test---092223
查看>>
C-IDE使用指南
查看>>
C-IDE使用帮助
查看>>
C-IDE入门帮助
查看>>