1
동기 vs 비동기
동기 처리는 앞 작업이 끝날 때까지 다음 줄을 막고, 비동기 처리는 완료 콜백이나 Promise 결과를 나중에 처리합니다.
웹 애플리케이션은 API 호출, 타이머, 파일 처리처럼 즉시 끝나지 않는 작업을 자주 실행합니다. 자바스크립트는 이벤트 루프, 콜백, Promise, async/await를 통해 이런 작업을 기다리는 동안 화면을 멈추지 않게 처리합니다.
이벤트 루프, Promise 상태, async/await 오류 처리를 요청 흐름과 함께 정리합니다.
동기 처리는 앞 작업이 끝날 때까지 다음 줄을 막고, 비동기 처리는 완료 콜백이나 Promise 결과를 나중에 처리합니다.
콜백은 작업이 끝난 뒤 실행할 함수를 전달하는 방식이며, 중첩이 깊어질수록 오류 전파와 실행 순서 추적이 어려워집니다.
Promise는 pending, fulfilled, rejected 상태로 비동기 결과와 실패 원인을 한 객체에 담습니다.
async는 Promise를 반환하고 await는 try/catch 경계를 세웁니다.