4.8 함수 호출 스케줄링(Scheduling a function call)

지구·2023년 7월 19일
0

JavaScript

목록 보기
23/30

정의

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

setTimeout

일정 시간이 지난 후에 함수를 실행하는 방법

문법

let timerId = setTimeout(func|code, [delay], [arg1], [arg2], ...)

func|code

실행하고자 하는 코드로, 함수 또는 문자열 형태이다. 대개는 이 자리에 함수가 들어가며, 하위 호환성을 위해 문자열도 받을 수 있게 해놓았지만 추천하진 않는다.

delay

실행 전 대기 시간으로, 단위는 밀리초(millisecond, 1000밀리초 = 1초)이며 기본값은 0이다.

arg1arg2

함수에 전달할 인수들로, IE9 이하에선 지원하지 않는다.

clearTimeout으로 스케줄링 취소하기

setTimeout을 호출하면 '타이머 식별자(timer identifier)'가 반환된다. 스케줄링을 취소하고 싶을 땐 이 식별자(아래 예시에서 timerId)를 사용하면 된다.

let timerId = setTimeout(...);
clearTimeout(timerId);

setInterval

일정 시간 간격을 두고 함수를 실행하는 방법

setTimeout이 함수를 단 한 번만 실행하는 것과 달리 setInterval은 함수를 주기적으로 실행한다.

문법

let timerId = setInterval(func|code, [delay], [arg1], [arg2], ...)

setInterval 메서드는 setTimeout과 동일한 문법을 사용한다.

clearInterval로 스케줄링 취소하기

clearTimeout과 동일하게 사용한다.

let timerId = setTimeout(...);
clearInterval(timerId);

참조: https://ko.javascript.info/settimeout-setinterval#ref-278

profile
프론트엔트 개발자입니다 🧑‍💻

1개의 댓글

comment-user-thumbnail
2023년 7월 19일

아주 유용한 정보네요!

답글 달기