
비동기 프로그래밍 - Callback, Promise, async/await
·
Web/Javascript
비동기 프로그래밍?Javascript는 싱글 스레드로 동작하기 때문에 한 번에 하나의 작업만 실행할 수 있다. 하지만, Call Stack, Web API, Event Loop, Callback Queue와 함께 동작하여 비동기 프로그래밍이 가능하다. Call Stack자바스크립트 엔진이 코드 실행을 위해 사용하는 메모리 구조로 실행 중인 함수들이 쌓인다. Web API브라우저에서 제공하는 API로 Call Stack에 있는 비동기 작업들을 위임받아 멀티 스레드로 처리한다. Callback QueueWeb API의 비동기 작업이 완료되고 실행을 대기하는 함수가 쌓인다. Event Loop Call Stack이 비어있는 경우 Callback Queue에서 대기중인 함수를 Call Stack으로 옮겨 실..