eatthefrog
자바스크립트: 비동기 처리를 위한 Promise + then 방식과 async + await 방식의 차이점 본문
비동기 처리를 위한 Promise + then 방식과 async + await 방식의 차이점
- Promise + then: 비동기 작업의 결과를 기다린 후 .then() 콜백 함수를 통해 다음 작업을 이어가는 방식으로, 작업이 많아지면 코드가 길어지고 복잡해질 수 있습니다.
- async + await: await 키워드를 사용해 비동기 작업이 완료될 때까지 실행을 일시 정지시킴으로써, 비동기 코드를 마치 동기적인 코드(순차적 코드)처럼 읽기 쉽게 작성해 줍니다.
- 에러 처리: Promise는 .catch()로 에러를 잡지만, async/await는 일반적인 try-catch 문을 그대로 사용할 수 있어 에러 관리가 더 직관적이고 편리합니다.
| 구분 | Promise + then | async + await |
| 가독성 | 체이닝이 길어지면 복잡함 | 위에서 아래로 읽히는 절차적 구조 |
| 흐름 제어 | 비동기 흐름이 명시적임 | 실행 흐름이 중단되었다 재개됨 |
| 코드 예시 | Tour.create(data).then(...) | const tour = await Tour.create(data) |
'프론트엔드 노트' 카테고리의 다른 글
| Vitest 테스트 실행 프로세스 정리 (0) | 2025.12.02 |
|---|---|
| Vitest 시작하기 (0) | 2025.12.02 |
| React Testing - Jest/Vitest/RTL (0) | 2025.12.02 |
| React Hooks 단위 테스트 도구 비교 (0) | 2025.12.02 |
| 리엑트 테스트 코드 시작하기 (0) | 2025.12.02 |