在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/HTML/ 請(qǐng)問(wèn)為什么setTimeout()不起作用?

請(qǐng)問(wèn)為什么setTimeout()不起作用?

<div class="panel" @mousemove="mv1">debounce=========={{msg1}}</div>

是一段寫在vue組件里的代碼

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

    }

請(qǐng)問(wèn)為什么這段代碼沒(méi)法起到debounce的效果?
數(shù)字不斷在增加?

回答
編輯回答
失心人

setTimeout 第一個(gè)參數(shù)必須是個(gè)方法
timer = setTimeout(()=》{this.msg1++} ,5000}

2017年4月8日 13:36
編輯回答
野橘
function debounce(func, time) {
    var timer = null
    return function() {
        clearTimeout(timer)
        timer = setTimeout(func, time)
    }
}

// 驗(yàn)證
var n = 10
var foo = debounce(function(){console.log(n)}, 3000)
while(n--) {
    foo()
}
// 不管n多大 都只會(huì)輸出 -1

參考一下,希望對(duì)你有幫助

2017年6月28日 04:23
編輯回答
尤禮
  mv1:function(e){
    var timer ;
    clearTimeout(timer);
    timer = setTimeout(() => this.msg1++,5000); // 注意這里

    }
2017年9月19日 18:22