일정 시간이 지난 후에 원하는 함수를 예약 실행(호출)할 수 있게 하는 것을 호출 스케줄링
이라고 한다.
구현 방법으로 setTimeout
과 setInterval
이 있다.
function sayHi() {
alert('안녕하세요.');
}
setTimeout(sayHi, 1000); //1초 후 실행
// 잘못된 코드
setTimeout(sayHi(), 1000);
setInterval
은 setTimeout
과 동일한 문법을 사용한다.
하지만 setTimeout
이 함수를 단 한 번만 실행하는 것과 달리 setInterval
은 함수를 주기적으로 실행하게 만든다.
// 2초 간격으로 메시지를 보여줌
let timerId = setInterval(() => alert('째깍'), 2000);
스케줄링을 취소하고 싶을 땐 clearTimeout()
을 사용하면 된다.
// 5초 후에 정지
setTimeout(() => { clearInterval(timerId); alert('정지'); }, 5000);