how to fire only the very last setTimeout

Che*_*hef 3 javascript

window.addEventListener('resize', onResize, false);
function onResize() {
    timer = setTimeout(function() { 
        console.log('fire timer');
    }, 1000);
}
Run Code Online (Sandbox Code Playgroud)

调整事件大小超级快速.因此每1000ms会有很多计时器点火.如何只开始最后一个计时器?

小智 8

清除每个呼叫的计时器

var timer;

function onResize() {

    clearTimeout(timer);

    //...

    timer = setTimeout(function() { 
        console.log('fire timer');
    }, 1000);
}
Run Code Online (Sandbox Code Playgroud)

(timer可能为null或未定义).