[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의 핵심 기능 중 하나인 이벤트 루프는 비동기식 작업을 관리하고 실행합니다. 이벤트 루프는 작업이 완료되었을 때 해당 작업을 처리하기 위한 콜백 함수를 실행하며, 이를 통해 효율적으로 다수의 작업을 동시에 처리할 수 있습니다.
setTimeout
과 setInterval
setTimeout
함수는 지정된 시간이 지난 후에 콜백 함수를 실행하는 타이머를 생성합니다. setInterval
함수는 지정된 시간 간격으로 반복적으로 콜백 함수를 실행하는 타이머를 생성합니다. 이를 통해 비동기식으로 시간을 관리할 수 있습니다.
// setTimeout 예제
setTimeout(() => {
console.log('이 메시지는 1초 후에 출력됩니다.');
}, 1000);
이처럼 Node.js에서는 콜백 함수와 이벤트 루프를 통해 비동기식 시간 관리를 수행하며, 이를 활용하여 효율적으로 다양한 작업을 처리할 수 있습니다.