← 목록

Node.js 비동기 프로그래밍의 기초

작성: 2025년 04월 23일읽기: 약 2분

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

asyncawaitPromise를 더 쉽게 사용할 수 있게 해주는 문법입니다. async 함수 안에서 await 키워드를 사용하면, Promise의 결과를 기다릴 수 있습니다.

async function myFunction() {
  try {
    const successMessage = await myPromise;
    console.log(successMessage);
  } catch (error) {
    console.log(error);
  }
}

myFunction();

이상으로 Node.js에서 비동기 프로그래밍의 기초에 대해 알아보았습니다. 비동기 프로그래밍은 처음에는 어렵게 느껴질 수 있지만, 연습을 통해 능숙하게 다룰 수 있게 됩니다. Happy coding!