Node.js 비동기 프로그래밍의 기초
Node.js에서 비동기 프로그래밍은 웹 개발의 핵심입니다. 이는 여러 작업을 동시에 처리할 수 있게 해주어, 웹 애플리케이션의 성능을 크게 향상시킵니다. 오늘은 Node.js의 비동기 프로그래밍 기초에 대해 알아보겠습니다.
비동기 프로그래밍이란?
간단히 말해, 비동기 프로그래밍은 특정 코드의 실행이 완료될 때까지 기다리지 않고 다음 코드로 넘어가는 방식입니다. 이는 프로그램이 더 효율적으로 작동하게 해줍니다.
예제: setTimeout
Node.js에서 가장 간단한 비동기 함수 중 하나는 setTimeout()
입니다. 이 함수는 지정된 시간이 지난 후 함수를 실행합니다.
console.log('첫 번째 메시지 출력');
setTimeout(() => {
console.log('두 번째 메시지 출력');
}, 2000); // 2000밀리초 후에 실행
console.log('세 번째 메시지 출력');
위 코드를 실행하면, "첫 번째 메시지 출력"과 "세 번째 메시지 출력"이 거의 동시에 출력되고, 2초 후에 "두 번째 메시지 출력"이 출력됩니다.
Promise
Promise
는 비동기 작업을 좀 더 쉽게 다룰 수 있게 해주는 객체입니다. Promise
는 비동기 작업이 성공적으로 끝났는지, 아니면 실패했는지를 나타내는 결과값을 가집니다.
const myPromise = new Promise((resolve, reject) => {
const condition = true;
if (condition) {
resolve('성공');
} else {
reject('실패');
}
});
myPromise
.then((message) => {
console.log(message); // 성공 시 실행
})
.catch((error) => {
console.log(error); // 실패 시 실행
});
async와 await
async
와 await
는 Promise
를 더 쉽게 사용할 수 있게 해주는 문법입니다. async
함수 안에서 await
키워드를 사용하면, Promise
의 결과를 기다릴 수 있습니다.
async function myFunction() {
try {
const successMessage = await myPromise;
console.log(successMessage);
} catch (error) {
console.log(error);
}
}
myFunction();
이상으로 Node.js에서 비동기 프로그래밍의 기초에 대해 알아보았습니다. 비동기 프로그래밍은 처음에는 어렵게 느껴질 수 있지만, 연습을 통해 능숙하게 다룰 수 있게 됩니다. Happy coding!