인프런 커뮤니티 질문&답변
마이크로 태스크로 들어가는 콜백함끼리는 순서대로 실행되는게 맞나요?
작성
·
259
0
강의에서 마이크로 태스크로 들어가는 콜백함수끼리는 순서대로 실행된다고 하셨는데 실행 했을때, 순서 상관없이nextTick이 우선적으로 실행됩니다.
Promise.resolve().then(() => console.log("promise"));
process.nextTick(() => console.log("nextTick"));
//nextTick
//promise
또, promise의 then안쪽에서 console.log를 바로 실행했을때는 순서 상관없이 promise가 우선적으로 실행됩니다 ㅠㅠ
Promise.resolve().then(console.log("promise"));
process.nextTick(() => console.log("nextTick"));
//promise
//nextTick
답변 1
1
제로초(조현영)
지식공유자
이게 노드 버전 따라서 동작이 다를 수 있습니다. process.nextTick이 js표준이 아니라서요.
그리고 두 번째 코드는 당연히 콘솔 promise 가 먼저 실행될 수밖에 없습니다. 코드를 잘 봐보세요.
setTimeout(console.log(1), 1000)
setTimeout(() => console.log(1), 1000)




