setInterval VS setTimeout_JavaScript

miin·2023년 11월 28일
0

Java Script

목록 보기
32/35
post-thumbnail
  • 기본적으로 무언가를 일정 간격을 두고 실행하도록 만들어주는 스케줄링 메서드이다

setInterval

  • 지정된 주기로 특정 코드를 계속 실행한다
  • 시간 지연을 보장하지 않는다
  • 취소함수 clearInterval

setTimeout

  • 지정된 초가 지난 후 특정 코드를 1회 실행 후 멈춘다
  • 시간 지연을 보장한다
  • setInterval과 같이 계속 실행하고 싶을때에는 setTimeout안에 setTimeout을 중첩 시킨다
setTimeout(() => {
    const timeoutTest = () => {
      console.log("ddd");
      setTimeout(timeoutTest, 1000);
    };
  }, 1000);
  • 혹시나 서버가 과부하 상태라면 요청간격을 늘릴 수 있다
let delay = 5000;

let timer = setTimeout(function request() {
  ...요청 보내기...
  
  if(서버 과부하로 인한 요청 실패) {
    // 요청 간격을 늘립니다.
    delay *= 2;
  }
  
  timerId = setTimeout(request, delay);
}, delay);
  • setTimeout의 고유한 타이머 id값을 사용해서 타이머를 취소할 수 있다.

Debounce

  • 짧은 시간 간격으로 이벤트가 연속해서 발생하는 경우 이벤트 핸들러를 호출하지 않다가 일정 시간 후 이벤트를 단 한번만 호출한다

0개의 댓글