인프런 커뮤니티 질문&답변

이룸님의 프로필 이미지
이룸

작성한 질문수

[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지

process

마이크로 태스크로 들어가는 콜백함끼리는 순서대로 실행되는게 맞나요?

작성

·

229

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)

이룸님의 프로필 이미지
이룸

작성한 질문수

질문하기