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);
}