Promise.then vs async/await
같은 비동기를 다루지만, async/await가 동기 코드처럼 읽혀 가독성이 좋습니다.
async/await는 Promise 위에 만들어진 문법입니다. 동작은 같고 표현 방식이 다릅니다.
| 구분 | Promise.then | async/await |
|---|---|---|
| 가독성 | 체이닝(.then) | 동기 코드처럼 직관적 |
| 에러 처리 | .catch() | try/catch |
| 내부 동작 | Promise | Promise(동일) |
| 병렬 처리 | Promise.all | Promise.all 함께 사용 |
Promise.then를 쓸 때
간단한 단일 비동기나 함수형 체이닝이 자연스러울 때 사용합니다.
async/await를 쓸 때
여러 단계의 비동기 흐름을 읽기 쉽게 작성할 때 사용합니다(대부분의 경우).
결론
대부분 async/await가 읽기 좋습니다. 단, 여러 작업을 동시에 기다릴 땐 await를 남발하지 말고 Promise.all로 묶으세요.
← 개발 개념 비교 전체 보기