일정 시간이 지난 후에 원하는 함수를 예약 실행(호출)할 수 있게 하는 것
일정 시간이 지난 후에 함수를 실행하는 방법
let timerId = setTimeout(func|code, [delay], [arg1], [arg2], ...)
func|code
실행하고자 하는 코드로, 함수 또는 문자열 형태이다. 대개는 이 자리에 함수가 들어가며, 하위 호환성을 위해 문자열도 받을 수 있게 해놓았지만 추천하진 않는다.
delay
실행 전 대기 시간으로, 단위는 밀리초(millisecond, 1000밀리초 = 1초)이며 기본값은 0이다.
arg1
, arg2
…
함수에 전달할 인수들로, IE9 이하에선 지원하지 않는다.
setTimeout
을 호출하면 '타이머 식별자(timer identifier)'가 반환된다. 스케줄링을 취소하고 싶을 땐 이 식별자(아래 예시에서 timerId
)를 사용하면 된다.
let timerId = setTimeout(...);
clearTimeout(timerId);
일정 시간 간격을 두고 함수를 실행하는 방법
setTimeout
이 함수를 단 한 번만 실행하는 것과 달리 setInterval
은 함수를 주기적으로 실행한다.
let timerId = setInterval(func|code, [delay], [arg1], [arg2], ...)
setInterval
메서드는 setTimeout
과 동일한 문법을 사용한다.
clearTimeout
과 동일하게 사용한다.
let timerId = setTimeout(...);
clearInterval(timerId);
참조: https://ko.javascript.info/settimeout-setinterval#ref-278
아주 유용한 정보네요!