setImmediate / clearImmediate 질문
안녕하세요. 질문이 하나 있습니다.
setImmediate가 즉시 실행되는 것처럼 보여도 백그라운드 - 테스크 큐 - 호출 스택 과정을 거치기 때문에 그 전에 clearImmediate를 하면 취소된다는 것은 이해했습니다.
궁금한 건 아래인데요,
const immediate2 = setImmediate(() => {
console.log('x');
});
clearImmediate(immediate2);
여기에서 clearImmediate(immediate2);가 실행되어 'x'가 출력되지 않는, 일련의 시간 순서가 잘 이해되지 않습니다.
immediate2의 백그라운드 - 테스크 큐 - 호출 스택 과정보다 clearImmediate가 앞선 과정인지 어떻게 알 수 있는 건가요? 저는 찍어보기 전까지는 모를 것 같있는데 강사님은 미리 예측을 하신 것으로 보여 어떻게 그걸 알 수 있는지 궁금합니다. 감사합니다.
답변 1
1
const immediate2 = setImmediate( // 호출스택
() => { console.log('x'); } // 백그라운드로 넘어가는 함수
);
clearImmediate(immeidate2); // 호출스택 -> 백그라운드보다 우선이므로 백그라운드 것이 실행되기 전에 취소 가능
이렇게 보시면 편합니다.
백그라운드 함수들은 호출스택이 비어 있어야 실행될 수 있습니다. setImmediate와 clearImmediate 모두 호출스택에 들어가는 함수이므로 호출스택이 비어있는게 아니니깐 백그라운드 함수보다 먼저 실행되는 것입니다.
리눅스 노드 설치시 패키지
0
172
0
socket.js 에서 referer로부터 roomId를 가져올 때
0
926
3
스트리밍 방식으로 대용량 파일 업로드 & 다운로드 관련 질문
0
2297
2
a[title] 질문드립니다
0
386
1
리뉴얼 강의 및 공부 방법
0
589
1
jwt decode
0
1138
1
node.js 교과서 3판 질문드립니다
0
397
1
passport와 jwt
0
438
1
리뉴얼 강의
0
428
2
혹시 Node.js 교과서 3판 이북은 언제 나오나요?
0
359
1
몽고디비 사용자도 MYSQL부분을 들어야 하나요???
0
490
1
sql 쿼리 로그는 어떤 모듈이 작성하나요?
0
511
2
nunjucks res.render('error'); 작동을 안합니다.
0
518
1
질문있습니다.
0
348
1
multer 한글 파일 업로드시 파일명이 깨져요.
1
3543
1
수업자료는 어디있나요?
0
374
1
질문 있습니디
0
245
1
multer 사용시 file 외 name값은 못받나용?
0
430
1
코드 중복 부분 질문드립니다.
0
303
1
api 만드는 이유 질문드립니다.
0
293
1
Strategy의 done에 대해 질문드립니다.
0
374
1
안녕하세요 fs 권한 관련 질문드립니다
0
456
1
시퀄라이즈 연결질문...
0
510
2
res.setHeader vs res.cookie
0
1797
3





