setInterval , setTimeout
setInterval
일정 시간 간격을 두고 특정 함수를 실행시키고자 할 때 사용.
특정서버와의 통신을 N 회까지 retry(재시도) 시키는 기능, 타이머 기능(초시계 등) 등의 기능 개발시 사용
[실행]
1
|
var loopInterval = setInterval("loopFunc.checkLooping()", 1*2000);
|
cs |
: 2초 뒤 loopFunc.checkLooping() 함수 실행
[중단]
1
2
3
|
if(loopInterval){
clearInterval(loopInterval);
}
|
cs |
: loopInterval 이 defined 이면(인터벌이 정의되어있으면) 인터벌을 제거.
※ 사용시 주의사항
setInterval은 실행시 "시간간격 > 실행 > 시간간격 > 실행 ~" 과 같은 순서로 실행된다.
(위에서 예를 든 코드는 2초뒤에 loopFunc.checkLooping() 함수를 최초로 실행한다)
따라서 "실행 > 시간간격 > 실행 > 시간간격 ~" 과 같이 함수 실행을 우선적으로 시킨 후 시간간격을 두고 싶다면,
1
2
|
loopFunc.checkLooping();
var loopInterval = setInterval("loopFunc.checkLooping()", 1*2000);
|
cs |
위와 같이 setInterval함수를 호출하기 앞서 함수를 강제로 한 번 호출해주면 된다.
setTimeout
일정 시간 후에 특정 함수를 1회 실행시키고자 할 때 사용
강제로 시간 텀을 두어 함수를 실행시켜야 할 때, java 에서의 Thread.sleep(~); 과 같이 시간 텀을 강제로 줄 필요가 있는 경우(딜레이) 사용
[실행]
1
|
setTimeout(function(){sample()}, 1000);
|
cs |
: 1초 뒤 sample() 함수 실행
반응형
'front > javascript' 카테고리의 다른 글
http file upload : $.ajax, XMLHttpRequest() 사용 (2) | 2019.10.17 |
---|---|
$.ajax .done .fail 사용시 response data 가져오기 (0) | 2019.10.16 |
Airbnb javascript 개발 가이드 (0) | 2019.09.13 |
공통 팝업 확장 및 구현하기 : Customized PopUp (alert, confirm, loading) (0) | 2019.09.11 |
localStorage vs sessionStorage (0) | 2019.09.10 |