비동기 처리 - 3. Promise Chaining | Error Handling
개요
- 개요는 시리즈 1과 동일함
- 이하 글 및 코드의 근본적인 출처는 https://ko.javascript.info/microtask-queue
Microtask (마이크로태스크)
의미
JS 엔진이 비동기 작업 결과를 처리하기 위해 사용하는 작업 단위
예시
프로미스의 .then .catch .finally 같은 콜백
특징
let promise = Promise.resolve();
promise.then(() => alert("프라미스 성공!"));
alert("코드 종료"); // 얼럿 창이 가장 먼저 뜹니다.
- 마이크로태스크는 Call stack (콜 스택)이 비었을 때, 즉시 실행 됨
- 콜 스택이 비었음 : 현재 실행 중인 코드 없음 + 콜백 함수의 프로미스 처리가 완료 됨
- 따라서 위 코드에서 alert(’코드 종료’) 가 현재 실행 중인 코드이므로 실행하고 → .then 이하 코드 실행함
- 마이크로태스크는 이벤트 루프에서 다음 태스크를 수행하기 전에 실행
마이크로태스크 Queue (큐)
- 마이크로태스크들이 대기하고 있는 큐(queue)
- 큐이므로 먼저 들어온 작업 실행 (FIFO)
'Backend > Node.js' 카테고리의 다른 글
[Asynchronous] 비동기 처리 - 6. async, await (0) | 2023.12.01 |
---|---|
[Asynchronous] 비동기 처리 - 4. Promise API (0) | 2023.12.01 |
[Asynchronous] 비동기 처리 - 3. Promise Chaining | Error Handling (1) | 2023.12.01 |
[Asynchronous] 비동기 처리 - 2. Promise (1) | 2023.12.01 |
[Asynchronous] 비동기 처리 - 1. 비동기와 콜백 (0) | 2023.12.01 |