개발/Web

setInterval()과 setTimeout()

보리ing 2019. 3. 6. 01:17

 대쉬보드 화면을 10초와 60초 간격으로 이벤트를 발생시켜 데이터를 갱신하도록 짜 둔 페이지에서 갱신이 되지 않는 문제가 발생하였다.

 이유인 즉슨 며칠간 켜둔 페이지를  setInterval()을 이용하여 주기적 실행을 해뒀는데 점점 지연으로 느려지다 멈춘 경우다.

 따라서 일반적인 주기는 setTimeout() 써야하나보다.

 이 둘의 특징은 정해진 시간대로 실행한다는 것이고, 차이점으로는 인터벌은 정해진 시간으로 무한 반복, 타임아웃은 한 번만 실행이다. 

 따라서 타임아웃을 사용하여 무한 반복을 할 경우엔 재귀함수를 사용하여 함수안에서 한번 더 호출해야 한다.


setinterval() 과 setTimeout() 사용법은 같다.


var interval = setInerver(함수,1/1000초);

var timeout = setTimout(함수,1/1000초);


그리고 종료하는 법은

clearInterval(interval);

clearTimeout(Timeout);



이다.