为了账号安全,请及时绑定邮箱和手机立即绑定

如何防止用户短时间内重复操作造成的代码重复执行

如何防止用户短时间内重复操作造成的代码重复执行

莫回无 2018-09-12 10:09:09
举个例子:button按钮绑定了一个函数,是5s之后打印数字0;如果我们连续点击button按钮多次,会在控制台输出多个0期望的输出时,控制台最后只输出一个0,是我们最后点击的那一次思考:假设在真实的项目中,我们有按钮是绑定了一些交互效果的,比如旋转缩放等,如何防止用户重复操作,代码重复执行导致效果累加?<button  onclick='test()'>点击</button>function test(){   var timer=setTimeout(function(){       console.log(0);    }, 5000) }
查看完整描述

1 回答

?
人到中年有点甜

TA贡献1895条经验 获得超7个赞

  function test(){

        console.log(0);

    }

    

    function throttle(fun){

        if(fun.timeoutId) {window.clearTimeout(fun.timeoutId);}

        fun.timeoutId = window.setTimeout(function(){

            fun();

           fun.timeoutId = null;

        }, 1000);

    }

    

    throttle(test);

    throttle(test);

    throttle(test);

    throttle(test);


查看完整回答
反对 回复 2018-10-06
  • 1 回答
  • 0 关注
  • 701 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信