비동기처리 2

실행 컨텍스트와 동기/비동기 처리 방식

함수를 호출하면 함수 코드가 평가되어 함수 실행 컨텍스트가 생성된다. 이 때 생성된 함수 실행 컨텍스트는 콜스택에 추가되고 함수 코드가 실행된다. 함수 코드의 실행이 종료되면 함수 실행 컨텍스트는 콜스택에서 제거된다. 함수의 실행 순서는 실행 컨텍스트 스택으로 관리하며 이는 뒤이어 설명할 동기, 비동기와도 밀접하게 연관되어 있다. 실행 컨텍스트(execution context) 실행 컨텍스트란? 실행할 코드에 제공할 환경 정보를 모아놓은 객체이다. 실행 컨텍스트가 활성화되는 시점에는 다음과 같은 현상이 발생한다. 호이스팅이 발생한다.(선언된 변수(var)를 위로 끌어올린다) 외부 환경 정보를 구성한다. this의 값을 설정한다. 실행 컨텍스트의 구성 실행 컨텍스트는 코드를 실행할 때 필요한 환경 정보를 ..

javascript 2022.08.02

Part 1. Promise란? (작동 방식)

*비동기 처리 - 특정 코드의 실행이 완료될 때까지 기다리지 않고 다음 코드를 먼저 수행함. Promise 객체는 ES6에 도입된 기능으로 비동기 작업에 대한 결과(실패, 성공)를 나타내는 객체이다. 기본적으로 Promise는 함수에 콜백을 전달하는 대신 콜백을 첨부하는 방식의 객체이다. const myPromise = new Promise((resolve, reject) => { // code here }) [예시1] 비동기로 음성파일을 생성해주는 createAudioAsync(음성 설정 정보, 음성파일 생성 시 콜백함수, 음성파일 생성 실패 시 콜백함수)라는 함수가 있다고 가정해보자. // createAudioAsync() - 비동기로 음성 파일을 생성해주는 함수 // audioSetting(음성 설..

javascript 2022.07.14