await(2)
-
Promise 동시성 설계: 순차 실행, 조합자, Critical Path
Promise와 async/await 깊이 이해하기 3/4들어가며async/await 코드는 읽기 쉽다.그러나 너무 자연스럽게 읽히기 때문에 오히려 불필요한 순차 실행을 만들기 쉽다. const user = await fetchUser();const settings = await fetchSettings(); 두 작업이 서로 독립적이라면 이 코드는 존재하지 않는 의존 관계를 만들어낸다.fetchUser 완료 ↓fetchSettings 시작 Promise 동시성 설계의 핵심은 Promise.all()을 외우는 것이 아니다.다음 질문에 답하는 것이다.어떤 작업이 다른 작업의 결과를 필요로 하는가?어떤 작업은 동시에 시작할 수 있는가?실패했을 때 나머지 작업은 어떻게 해야 하는가?동시에 몇 개까지..
2026.06.24 -
async/await의 실행 원리: Job, 마이크로태스크, 실행 컨텍스트
Promise와 async/await 깊이 이해하기 2/4들어가며async/await은 Promise 코드를 동기 코드처럼 읽을 수 있게 만든다. async function loadUser() { const response = await fetch("/api/user"); const user = await response.json(); return user;} 하지만 코드가 동기적으로 보이는 것과 실제로 동기적으로 실행되는 것은 다르다.await은 스레드를 멈추지 않는다.Promise를 제거하지도 않는다.실제로는 다음과 같은 과정이 일어난다.async 함수 실행→ await 지점에서 실행 컨텍스트 중단→ Promise 반응 등록→ 호출자에게 제어권 반환→ Promise 완료→ Job을 통해 실행 컨..
2026.06.23