javascript, jQuery & Node.js/Node.js

타이머 setTimeout, setInterval, setImmediate - 노드기능 04

yy_dd2 2022. 12. 9. 17:58
반응형

setTimeout(콜백함수, 밀리초) 

주어진 밀리초 1,000분의 1초 이후에 콜백 함수를 실행

setInterval(콜백함수, 밀리초)

주어진 밀리초마다 반복해서 실행
setImmediate(콜백함수)

콜백 함수를 즉시 실행

-> 모두 아이디를 반환하며 아이디를 사용하여 취소함

clearTimeout(아이디)

clearInterval(아이디)

clearImmediate(아이디)

 

const timeout = setTimeout(() => {
    console.log('1.500초 후 실행 1.5초');
}, 1500);

const interval = setInterval(() => {
    console.log('1초 마다 실행');
}, 1000);

const timeout2 = setTimeout(() => {
    console.log('실행되지 않습니다. --> 3초 후 실행 됨')
}, 3000);

setTimeout(() => {
    clearTimeout(timeout2);
    clearInterval(interval);
}, 2500);9

//1초 마다 실행
//1.500초 후 실행 1.5초
//1초 마다 실행

const immediate = setImmediate(() =>{
    console.log('즉시실행')
})
//즉시실행
//1초 마다 실행
//1.500초 후 실행 1.5초
//1초 마다 실행

const immediate2 = setImmediate(()=>{
    console.log('실행되지 않음')
})

clearImmediate(immediate2);

//즉시실행
//1초 마다 실행
//1.500초 후 실행 1.5초
//1초 마다 실행

 

 

* setImmediate(콜백) setTimeout(콜백, 0) 은 같지만 다르다

특별한 경우 setImmediate(콜백) 이 먼저 발동한다. 

하지만 항상 먼저 호출되지는 앖는다. 헷갈리지 않도록 setTimout(콜백, 0) 사용하지 않는 것을 권장한다고 함

 

반응형