JavaScript/Basic

setTimeout과 setInterval을 이용한 호출 스케줄링

yunajoe 2022. 11. 18. 08:10

호출 스케줄링(scheduling a call)

- 일정 시간이 지난 후에 원하는 함수를 예약 실행(호출)할 수 있게 하는 것

- setTimeout, setInterval 두가지의 방법이 있다 

 

 

setTimeout

- 일정 시간이 지난 후에 함수를 실행하는 방법

- Syntax

 setTimeout(func|code, [delay], [arg1], [arg2], ...)
function sayHi() {
    alert('안녕하세요.');
  }
  
 setTimeout(sayHi, 1000);



// arg 추가해보깅 
function sayHi(who, phrase){
    alert(who + "님" + phrase);
} 
setTimeout(sayHi, 1000, "연아", "좋은하루보내세요!");

 

- 아래처럼 하면은 sayHi함수를 실행시켜, 반환한 값이 전달이 된다 

- 위애서 sayHi 의 return은 없기 때문에 sayHi()를 실행시키면은 undefined가 된다

// 잘못된 코드
setTimeout(sayHi(), 1000);

 

setInterval

- 일정 시간 간격을 두고 함수를 실행

- syntax

 setInterval(func|code, [delay], [arg1], [arg2], ...)
// console창에서 3초에 한번씩 '안녕!!' 이라는 단어가 나온다 

function sayHi() {
    console.log("안녕!!");
  }
  
setInterval(sayHi, 3000);



// console창에서 3초에 한번씩 '연아님 좋은하루!' 라는 단어가 나온다

function sayHi(who, phrase) {
    console.log(who + "님" + phrase);
  }
  
setInterval(sayHi, 3000, "연아", "좋은하루");