Throttle

여러 번 실행해도 최초의 실행이 끝날 때까지 실행되지 않는다.

let timer = 0;

function handleThrottle(){
    console.log('진입');

    if (timer) {
        return;
    }

    timer = setTimeout(() => {
       console.log('실행');
       timer = 0;
    }, 1000);
}

Debounce

여러 번 실행할 경우 마지막 것이 실행된다.

let timer = 0;

function handleDebounce(){
    console.log('진입');

    clearTimeout(timer);

    timer = setTimeout(() => {
       console.log('실행');
    }, 1000);
}

+ Recent posts