본문 바로가기
Language/JavaScript

setTimeout(), setInterval()

by 그랴 2023. 11. 11.

setTimeout()

만료된 후 함수나 지정한 코드 조각을 실행하는 타이머를 설정함

 

var timeoutID = setTimeout(function[, delay, arg1, arg2, ...]);

 

function : 타이머가 만료된 뒤 실행할 함수

delay : 주어진 함수를 실행하기 전에 기다릴 밀리초 단위 시간

arg1, ..., argN : 함수에 전달할 추가 매개변수

 

비동기 함수로서, 함수 스택의 다른 함수 호출을 막지 않는다.

setTimeout(() => {
  console.log("첫 번째 메시지");
}, 5000);
setTimeout(() => {
  console.log("두 번째 메시지");
}, 3000);
setTimeout(() => {
  console.log("세 번째 메시지");
}, 1000);

// 콘솔 출력:

// 세 번째 메시지
// 두 번째 메시지
// 첫 번째 메시지

 

clearTimeout() 

타이머 취소

// 리트코드 2715. Timeout Cancellation

var cancellable = function(fn, args, t) {
    const timeout = setTimeout(()=> fn(...args), t)

    const cancleFn = () => clearTimeout(timeout)

    return cancleFn
};

 


setInterval()

어떤 함수를 몇 밀리초마다 반복적으로 호출해야 할 필요가 있을 때 사용함

 

setInterval(func, delay, arg0, arg1, /* … ,*/ argN)

 

func : delay마다 실행되는 함수로, 첫번째 실행은 delay ms 이후에 발생함

delay : 타이머가 지정된 함수 또는 코드 실행 사이에 지연해야 하는 밀리초 단위으 ㅣ시간

arg : 타이머가 만료되면 func에서 지정된 함수로 전달되는 추가 인수

 

const intervalID = setInterval(myCallback, 500, "Parameter 1", "Parameter 2");

function myCallback(a, b) {
  // 여기에 코드를 작성하세요
  // 매개변수는 순전히 선택적입니다.
  console.log(a);
  console.log(b);
}