기본 콘텐츠로 건너뛰기

라벨이 프로그래밍입문인 게시물 표시

비동기 처리(Promise/Async)

JAVASCRIPT / ASYNC 자바스크립트 비동기 처리 정복: 콜백 지옥에서 Async/Await까지 싱글 스레드 언어인 JavaScript가 서버 통신과 같은 무거운 작업을 멈춤 없이 처리하는 비결을 알아봅니다. Callback, Promise, 그리고 Async/Await로 이어지는 비동기 처리 패턴의 진화 과정을 실무 코드로 정리했습니다. 📑 목차 1. 싱글 스레드와 비동기(Asynchronous)의 필요성 2. 과거의 유산: 콜백(Callback)과 콜백 지옥 3. 모던 JS의 표준: 프로미스(Promise)의 등장 4. 궁극의 가독성: Async / Await 패턴 5. [실전] Fetch API로 사용자 데이터 조회하기 1. 싱글 스레드와 비동기(Asynchronous)의 필요성 자바스크립트는 기본적으로 싱글 스레드(Single Thread) 언어입니다. 즉, 한 번에 하나의 작업만 처리할 수 있습니다. 만약 서버에서 1GB짜리 데이터를 받아오는 작업을 동기(Synchronous)로 처리한다면, 다운로드가 끝날 때까지 브라우저는 멈춰버리고(Freezing) 사용자는 아무것도 할 수 없게 됩니다. 이러한 문제를 해결하기 위해 자바스크립트는 비동기(Asynchronous) 모델 을 채택했습니다. 무거운 작업(서버 요청, 타이머 등)은 브라우저의 Web API에게 위임하고, 다음 코드를 즉시 실행합니다. 작업이 끝나면 이벤트 루프(Event Loop) 가 결과를 다시 메인 스레드로 가져와 실행하는 방식입니다. 2. 과거의 유산: 콜백(Callback)과 콜백 지옥 ...