백엔드 개발 · 중급
Promise와 async/await의 차이점과 각각의 사용 시나리오를 비교해주세요.
힌트 · async/await는 Promise 기반의 syntactic sugar로, 동기적인 코드처럼 작성할 수 있게 해줍니다.
Promiseasync/await가독성에러 핸들링동기적 코드
모범답안
Promise와 async/await는 둘 다 비동기 처리를 위한 JavaScript 기능입니다. Promise는 비동기 작업의 성공 또는 실패를 나타내는 객체이고, async/await는 Promise를 더 쉽게 사용할 수 있도록 해주는 문법입니다.
가장 큰 차이점은 가독성입니다. async/await를 사용하면 비동기 코드를 동기 코드처럼 순차적으로 작성할 수 있어서 훨씬 읽기 쉽고 이해하기 쉽습니다. Promise는 .then()과 .catch()를 계속 연결해야 해서 코드가 복잡해질 수 있습니다.
에러 핸들링 측면에서도 async/await가 더 직관적입니다. try...catch 구문을 사용해서 비동기 코드에서 발생하는 에러를 쉽게 잡을 수 있습니다. Promise는 .catch()를 통해 에러를 처리해야 합니다.
사용 시나리오는 다음과 같습니다. 간단한 비동기 작업에는 Promise가 적합할 수 있지만, 복잡한 비동기 로직이나 여러 개의 Promise를 연결해야 하는 경우에는 async/await를 사용하는 것이 코드 가독성을 높이는 데 도움이 됩니다. 결국 async/await는 Promise 기반으로 동작하기 때문에, Promise를 이해하는 것이 중요합니다.
읽었다면, 이제 직접 답해볼 차례예요
패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.