[메모] macrotask, microtask

mgm-dev·2020년 11월 28일
0
post-thumbnail

📚TL;DR

  1. promise의 리졸브는 microtask이다
  1. macrotask가 실행 된 다음 큐에 잡혀있는 모든 microtask를 실행시킨다

example.js

console.log('script start');

setTimeout(() => {
  console.log('setTimeout1');
});

setTimeout(() => {
  console.log('setTimeout2');
  queueMicrotask(() => {console.log('queueMicroTask 3')})
  queueMicrotask(() => {console.log('queueMicroTask 4')})
})

queueMicrotask(() => {console.log('queueMicroTask 1')})
queueMicrotask(() => {console.log('queueMicroTask 2')})

Promise.resolve()
  .then(() => {
    console.log('promise1');
  })
  .then(() => {
    console.log('promise2');
  });

console.log('script end');

result

script start
script end
queueMicroTask 1
queueMicroTask 2
promise1
promise2
setTimeout1
setTimeout2
queueMicroTask 3
queueMicroTask 4
profile
never stop learning

관심 있을 만한 포스트

0개의 댓글

관심 있을 만한 포스트