본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.
https://fastcampus.info/4n8ztzq
250810(일) 41일차
개념과 구조 - 동기와 비동기
콜백 함수
비동기 작업의 결과를 받아 후속 작업을 연결하기 위해 콜백 함수를 사용하는 구조는 간단한 흐름에서는 유용했지만
중첩이 많아지면서 코드가 난잡해지고 가독성이 급격히 떨어졌다
calculateValue(10, 20, result => {
console.log(result); // 콜백 지옥의 시작
});
프라미스(Promise)
콜백 함수의 단점을 해결하기 위해 등장한 Promise는 resolve, reject, then, catch로 이어지는 메서드 체이닝 구조 덕분에 비동기 흐름을 구조적으로 설계할 수 있고 특히 다음과 같은 패턴을 통해 복잡한 흐름을 일자로 정리하는 것이 가능하다
doSomething()
.then(result1 => doSomethingElse(result1))
.then(result2 => finishUp(result2))
.catch(error => handleError(error));
체이닝과 흐름 제어 – then/catch
then을 연결하여 순차적인 비동기 작업을 이어갈 수 있고
각각의 결과를 다음 작업으로 넘기며 가독성과 재사용성이 개선되었다
catch로 예외를 통합 관리할 수 있다는 점도 에러 처리의 일관성 측면에서 매우 유용
이번 강의를 통해 자바스크립트의 동기(Synchronous)와 비동기(Asynchronous) 처리 방식의 차이를 체감할 수 있었다.
단순한 프라미스 문법 설명을 넘어 비동기 로직을 동기처럼 작성할 수 있는 async/await 문법으로 나아가는 기반을 다져주었고
프라미스의 구조를 정확히 이해함으로써 추후 더 간결하고 예측 가능한 코드를 작성할 수 있다는 점에서
자바스크립트 비동기 이해의 핵심 출발점이라 할 수 있다