본문 바로가기

Node.js

호출스택

1. 호출스택

- Anonymous는 가상의 전역컨텍스트이다.

*Anonymous는 파일 실행 시 호출 스택 맨 밑에 깔린다.

- 함수 호출 순서대로 쌓이고, 역순으로 실행된다.

- 함수 실행이 완료되면 스택에서 빠진다.

- LIFO 구조라서 스택이라고 불린다.

* LIFO 구조 : 나중에 들어온 함수가 먼저 실행된다.

* FIFO 구조 : 먼저 들어온 함수가 먼저 실행된다.

 

2. 이벤트 루프 알아보기

1) 호출스택이 비면
2) 백그라운드의 비동기 함수를 실행하고
3) 콜백함수가 태스크큐로 들어온다.
4) 태스크큐는 호출스택으로 들어간다.
5) 호출스택으로 들어온 콜백함수를 실행시킨다.
6) 호출스택, 백그라운드, 태스크큐가 모두 비면 실행이 완료된다.

*Promise는 동기로 작동하지만, .then/.catch를 만나면 비동기로 작동한다.
*Promise와 타이머함수가 태스크큐에 같이 들어가 있으면 우선순위가 높은 Promise가 먼저 실행된다.

 

 

728x90

'Node.js' 카테고리의 다른 글

비동기 : Promise  (0) 2023.06.28
class  (0) 2023.06.28
구조분해할당  (0) 2023.06.28
화살표함수  (0) 2023.06.28
Node.js 의 정의  (0) 2023.06.28