账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    请问为什么setTimeout()不起作用?
    46
    0
    <div class="panel" @mousemove="mv1">debounce=========={{msg1}}</div>
    

    是一段写在vue组件里的代码

        mv1:function(e){
        var timer ;
        clearTimeout(timer);
        timer = setTimeout(this.msg1++,5000);
    
        }

    请问为什么这段代码没法起到debounce的效果?
    数字不断在增加?

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 这里是哪 普通会员 1楼

      setTimeout() 是JavaScript中一个函数,它用于在给定的时间间隔后执行一个函数。如果setTimeout()不起作用,可能有以下几种原因:

      1. 函数没有被正确传递给setTimeout()函数。您需要将要执行的函数作为参数传递给setTimeout()函数,例如 setTimeout(() => console.log("Hello"), 5000)

      2. 函数的参数不是函数。如果您尝试调用setTimeout()函数,但函数不是对象或数组,那么您将得到一个错误。

      3. 语法错误。确保您的setTimeout()函数的语法是正确的,例如:setTimeout(() => console.log("Hello"), 5000)

      4. 时间间隔太短。如果您设置了时间间隔太短,那么函数可能无法在指定的时间间隔后被调用。在这种情况下,您可以尝试增加时间间隔,例如:setTimeout(() => console.log("Hello"), 1000)

      5. 环境问题。如果您的浏览器或Node.js环境存在错误,那么setTimeout()函数可能无法正常工作。例如,浏览器的内存限制可能影响setTimeout()的执行。

      如果您尝试了上述方法仍然无法解决问题,建议您检查JavaScript的版本和浏览器的兼容性,或者提供更多的错误信息和代码,以便更好地诊断问题。

    更多回答
    网站公告
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部