🟢 Node.js에서 비동기 처리에 사용하는 Promises 문법

Node.js 문법

초급 난이도
문법 타입
11/06 등록일

Node.js에서 비동기 처리에 사용하는 Promises 문법

초급
태그
비동기 Promise async-await Node.js 문법 입문
## 개요
Node.js에서는 HTTP 요청, 파일 읽기 등 시간이 걸리는 작업을 효율적으로 처리하기 위해 Promise와 async/await 문법을 사용합니다. 이는 비동기 코드를 순차적으로 작성할 수 있도록 해주며, 코드의 가독성과 유지보수성을 높입니다.

## 주요 특징
- `Promise` 객체로 비동기 작업을 표현
- `.then()`와 `.catch()`로 성공/실패 처리 가능
- `async function`은 자동으로 Promise를 반환
- `await` 키워드는 Promise가 완료될 때까지 기다리게 합니다.

## 사용법
```javascript
// Promise 예제
function fetchData() {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve('데이터를 성공적으로 불러왔습니다');
}, 1000);
});
}

fetchData()
.then(data => console.log(data))
.catch(err => console.error(err));

// async/await 예제
async function fetchDataAsync() {
try {
const data = await new Promise((resolve, reject) => {
setTimeout(() => resolve('데이터를 성공적으로 불러왔습니다'), 1000);
});
console.log(data);
} catch (err) {
console.error(err);
}
}

fetchDataAsync();
```

## 주의사항
- `await`는 반드시 `async` 함수 안에서 사용해야 합니다.
- Promise가 정상적으로 처리되지 않을 경우 `.catch()`를 통해 예외 처리를 해야 합니다.
- 콜백 지향 방식의 함수를 Promise로 변환할 때, `util.promisify` 모듈을 사용하면 편리합니다.

## 관련 문법
- `async/await`: Promise 기반의 비동기 코드 작성
- `Event Loop`: Node.js에서 비동기 처리가 동작하는 메커니즘
- `Callback Functions`: Promises로 대체 가능한 전통적인 방식
코드 예제
async function fetchDataAsync() {
  try {
    const data = await fetch('https://api.example.com/data');
    console.log(await data.json());
  } catch (err) {
    console.error('데이터 요청 중 오류 발생:', err);
  }
}

fetchDataAsync();
등록일: 2025년 11월 06일 02:33
언어 정보
언어
Node.js
카테고리
Web
인기도
#10
학습 팁
코드를 직접 실행해보세요
변수를 바꿔가며 실험해보세요
오류가 나도 포기하지 마세요
다른 예제도 찾아보세요