호출 스케쥴링(setTimeout,setInterval)
15 Jan 2021 | javascript호출 스케쥴링
일정시간이 지난후에 원하는 함수를 예약 실행(호출)할 수 있게 하는것을 뜻한다.
-
setTimeout: 일정 시간이
지난 후
에 함수 실행, clearTimeout함수로 취소 가능 -
setInterval: 일정 간격을 두고 함수 실행, clearInterval함수로 취소 가능
setTimeout와 setInterval에 넘긴 함수를 참조하는것이 없어도
가비지 컬렉션
의 대상이 되지않는다. setTimeOut와 setInterval에 함수를 넘기면 함수에대한 내부참조가 새롭게 만들어지고 이 참조 정보는 스케줄러에 저장이 되기 때문이다.
clearTimeout,clearInterval
setInterval의 경우 clearInterval이 호출되기 전까지 함수에대한 참조가 메모리에 유지된다.
setInterval이든, setTimeout이든 메모리 공간에대한 부작용이 발생 할 수 있으니 스케줄링할 필요가 없어진 함수는 아무리 작더라도 clearTimeout혹은 clearInterval함수로 취소하자