[nodejs] 비동기식 시간 관리

Node.js는 비동기식 이벤트 기반의 서버 측 자바스크립트 플랫폼으로, 비동기식 시간 관리는 Node.js에서 핵심적인 개념 중 하나입니다. 이 기능은 파일 시스템 액세스, 네트워크 요청 등과 같이 시간이 오래 걸리는 작업을 효율적으로 처리할 수 있도록 해줍니다.

콜백 함수

Node.js에서 비동기식 작업은 보통 콜백 함수를 이용하여 처리됩니다. 콜백 함수는 작업이 완료되었을 때 호출되는 함수로, 이를 통해 작업의 완료 여부를 확인하고 결과를 처리할 수 있습니다.

// 비동기식 파일 시스템 액세스 예제
const fs = require('fs');

fs.readFile('example.txt', 'utf8', (err, data) => {
  if (err) {
    console.error(err);
    return;
  }
  console.log(data);
});

위 예제에서 fs.readFile 함수의 마지막 인자로 전달된 콜백 함수는 파일 읽기 작업이 완료되었을 때 호출됩니다.

이벤트 루프

Node.js의 핵심 기능 중 하나인 이벤트 루프는 비동기식 작업을 관리하고 실행합니다. 이벤트 루프는 작업이 완료되었을 때 해당 작업을 처리하기 위한 콜백 함수를 실행하며, 이를 통해 효율적으로 다수의 작업을 동시에 처리할 수 있습니다.

setTimeoutsetInterval

setTimeout 함수는 지정된 시간이 지난 후에 콜백 함수를 실행하는 타이머를 생성합니다. setInterval 함수는 지정된 시간 간격으로 반복적으로 콜백 함수를 실행하는 타이머를 생성합니다. 이를 통해 비동기식으로 시간을 관리할 수 있습니다.

// setTimeout 예제
setTimeout(() => {
  console.log('이 메시지는 1초 후에 출력됩니다.');
}, 1000);

이처럼 Node.js에서는 콜백 함수와 이벤트 루프를 통해 비동기식 시간 관리를 수행하며, 이를 활용하여 효율적으로 다양한 작업을 처리할 수 있습니다.

참고 자료