상세 컨텐츠

본문 제목

JavaScript - setTimeout과 setInterval

개발/JavaScript

by 뉴에이스 2018. 11. 29. 14:06

본문

- 특정한 시간 뒤에 함수를 실행시킴(콜백함수) id setTimeout(콜백함수, 밀리세컨드단위의시간)
- 등록된 정보를 취소하기 clearTimeout(id); var id = setTimeout(function () {}, 10000)
- 10초뒤에 함수 실행하는 동작에 대한 id를 반환 console.log("setTimeout 설정 후...");


소스

function fn() {
	var date = new Date();
	var time = date.toLocaleTimeString(); // 현재 지역 시간 정보
	console.log(time);

	var id = setTimeout(fn, 1000); // fn 함수가 끝나기전 재호출.. 1초마다
	// 취소하기
	clearTimeout(id);
}
fn();

function fn2(count, msg) {
	// 1초뒤에 fn2를 부르고,
	var id = setTimeout(fn2, 1000, --count, msg);
	console.log("count : ", count, "msg : ", msg);
	if (count == 0) clearTimeout(id);
}
fn2(10, "hi");


결과

14:04:20 // 현재 시간 출력
count :  9 msg :  hi
count :  8 msg :  hi
count :  7 msg :  hi
count :  6 msg :  hi
count :  5 msg :  hi
count :  4 msg :  hi
count :  3 msg :  hi
count :  2 msg :  hi
count :  1 msg :  hi
count :  0 msg :  hi

 

특정 시간 뒤에 지속적으로 함수를 실행
var id = setInterval(콜백함수, 밀리세컨드)

clearInterval(id)


소스

function fn() {
	var date = new Date();
	var time = date.toLocaleTimeString(); // 현재 지역 시간 정보
	console.log(time);
}

var id = setInterval(fn, 1000); // 자기자신 호출이 아닌 함수를 지속적으로 호출

//5.1초 후에 중지
setTimeout(function() {
	clearInterval(id);
}, 5100);


결과 // 현재 시간 출력

14:05:04
14:05:05
14:05:06
14:05:07
14:05:08

 

관련글 더보기

댓글 영역