dev.syw
언어 · 문법

Promise.then vs async/await

같은 비동기를 다루지만, async/await가 동기 코드처럼 읽혀 가독성이 좋습니다.

async/await는 Promise 위에 만들어진 문법입니다. 동작은 같고 표현 방식이 다릅니다.

구분Promise.thenasync/await
가독성체이닝(.then)동기 코드처럼 직관적
에러 처리.catch()try/catch
내부 동작PromisePromise(동일)
병렬 처리Promise.allPromise.all 함께 사용

Promise.then를 쓸 때

간단한 단일 비동기나 함수형 체이닝이 자연스러울 때 사용합니다.

async/await를 쓸 때

여러 단계의 비동기 흐름을 읽기 쉽게 작성할 때 사용합니다(대부분의 경우).

결론

대부분 async/await가 읽기 좋습니다. 단, 여러 작업을 동시에 기다릴 땐 await를 남발하지 말고 Promise.all로 묶으세요.

← 개발 개념 비교 전체 보기