태그 보관물: javascript

setInterval()과 setTimeout()의 차이

자바스크립트에서 일정 시간마다 특정 함수를 호출하는 방법에는 두 가지가 있다.

setInterval(“실행할 함수명”, 시간)

한번 실행되면 clearInterval()이 실행되기 전까지 무한 반복하면서 이벤트를 발생시킨다.

setTimeout(“실행할 함수명”, 시간)

지정한 시간이 지난 후에 한번만 이벤트를 발생시킨다.

주기를 두고 반복적인 이벤트를 발생시키기 위해서 setInterval() 대신 setTimeout()을 선택하는 이유는 데이터를 화면에 출력한 직후부터 지정된 시간에 실행되도록 하기 위해서이다.

setInterval()을 사용하면 아무래도 웹페이지가 로딩될 때 한번만 실행해주면 되므로 편하게 느껴질 수 있지만, 이벤트가 반복 될 때 예기치 못한 예외 상황이 발생하거나 사용자와의 인터랙션이 늦어지는 경우 이벤트가 밀려서 발생될 수 있다.

모바일기기웹페이지의 형태에 대한 변화를 감지하는 것은 setInterval() 메소드를 사용하는 것을 추천한다.
단말기의 상태 변화는 서버나 네트워크의 영향을 받는 요소가 아니고, 모바일 기기에 탑재된 웹브라우져의 상태 정보에 직접 접근하는 것이므로 그 상태 값을 빠르게 확인 할 수 있기 때문이다.