
Promise 객체가 가진 핸들러들 .then(), .catch(), .finally() 는 모두 비동기적으로 실행된다. console.log('Start!'); Promise.resolve('Promise!').then(res => console.log(res)); console.log('End!'); // 아래와 같이 출력 // Start! // End! // Promise! 위 코드를 보면 Promise를 바로 resolve 해주어도 then이 실행되는 것은 동기 코드보다 나중이다. 왜 그럴까? 마이크로태스크(Microtasks)와 매크로태스크(Macrotasks) 이 때 등장하는 것이 바로 마이크로태스크다. ECMA에선 위와 같은 비동기 처리를 위해 PromiseJobs라는 내부 큐를 명시하는데 ..

JavaScript Engine 이란? 자바스크립트 엔진은 자바스크립트 코드를 해석하고 실행하는 인터프리터다. (한 번에 모든 코드를 해석하는 것은 컴파일방식, 한 줄 한 줄 동시통역처럼 해석하는 것은 인터프리트방식) HTML과 CSS를 분석해서 화면을 그려주는 렌더링 엔진(Rendering Engine) 과는 다르다. 자바스크립트를 실행하는 환경(주로 web 또는 node.js)에서 자바스크립트 코드를 해석하여 실행하는 도구다. 자바스크립트 엔진은 크게 3가지 분류로 나눌 수 있다. Stack Heap Queue 여기에 추가로 이벤트 루프(Event Loop)가 들어가게 된다. Stack call stack은 함수(요청)가 호출될 때 마다 요청들을 순차적으로 쌓아두고 처리한다. 자료구조에서의 스택처럼 ..
- Total
- Today
- Yesterday
- JavaScript
- jsconf
- vue
- vue-meta
- Component
- asyncawait
- chartjs
- ES6
- frontend
- Python
- 상태관리
- ReactNative
- 우아한테크러닝
- vuejs
- til
- EventLoop
- Vuex
- REACT
- vue-cli
- nodejs
- 인프런
- js
- axios
- vue-router
- typeScript
- 리액트훅
- promise
- Docker
- prerender-spa-plugin
- 프론트엔드
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |