호출 스케쥴링(setTimeout,setInterval)

|

호출 스케쥴링

일정시간이 지난후에 원하는 함수를 예약 실행(호출)할 수 있게 하는것을 뜻한다.

  • setTimeout: 일정 시간이 지난 후에 함수 실행, clearTimeout함수로 취소 가능

  • setInterval: 일정 간격을 두고 함수 실행, clearInterval함수로 취소 가능

setTimeout와 setInterval에 넘긴 함수를 참조하는것이 없어도 가비지 컬렉션의 대상이 되지않는다. setTimeOut와 setInterval에 함수를 넘기면 함수에대한 내부참조가 새롭게 만들어지고 이 참조 정보는 스케줄러에 저장이 되기 때문이다.

clearTimeout,clearInterval

setInterval의 경우 clearInterval이 호출되기 전까지 함수에대한 참조가 메모리에 유지된다.

setInterval이든, setTimeout이든 메모리 공간에대한 부작용이 발생 할 수 있으니 스케줄링할 필요가 없어진 함수는 아무리 작더라도 clearTimeout혹은 clearInterval함수로 취소하자