nodeJS - 내장 객체(timer, __filename, __dirname)


  • setTimeout(콜백함수, 밀리초) : 밀리초 이후 콜백 함수 실행

  • setInterval(콜백함수, 밀리초) : 밀리초 마다 콜백 함수 실행

  • setImmediate(콜백함수) : 즉시 실행

  • 타이머 취소 : clearTimeout(종료할 setTimeout의 아이디), clearInterval(종료할 setInterval의 아이디), clearImmediate(종료할 setImmediated의 아이디)

  • setImmediate(콜백함수)와 setTimeout(콜백함수, 0)의 차이점 : 특수한 경우(I/O작업의 콜백 함수 안에서 타이머를 호출하는 경우), setImmediate(콜백함수)가 먼저 실행. 헷갈리지 않도록 setTimeout(콜백함수, 0)을 사용하지 않는 것을 권장

  • ex code

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

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

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

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

const immediate = setImmediate(() => {
    console.log('즉시 실행');
});

const immediate2 = setImmediate(() => {
    console.log('실행되지 않습니다.');
});

clearImmediate(immediate2);

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

__filename, __dirname

  • filename.js
    console.log(__filename);
    //__filename : 현재 파일명
    console.log(__dirname);
    //__dirname : 현재 파일 경로
    
  • console
    $ node filename.js
    





© 2020.11. by creamer

Powered by CREAMer