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

맨공님의 프로필 이미지
맨공

작성한 질문수

[2024] 한입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지

2.7) 배열 메서드1. 요소 조작

비동기 실행

작성

·

254

0

강의에서는 Callback Queue가 Call stack에 콜백함수를 넘겨줄때 Call Stack에 Main Context를 제외한 함수가 없으면 그때 콜백함수를 넘겨준다고 강의에서 말씀하셨는데, 그럼 Call Stack에 동기 코드가 실행중이면 콜백함수는 동기코드가 다 실행되고 없어질때까지 기다렸다가 실행이 되는 것인가요?

답변 1

0

이정환 Winterlood님의 프로필 이미지
이정환 Winterlood
지식공유자

안녕하세요 이정환입니다.

MainContext는 특정 함수라기 보다는 프로그램 전체를 지칭합니다.

우리가 C언어에서 main 함수가 종료되면 프로그램 전체가 종료되듯이 이 MainContext또한 그러합니다.

따라서 MainContext가 Queue에서 제거되는 순간은 모든 비동기 콜백도 다 종료된 순간이라고 보시면 될 것 같습니다.

 

Q. Call Stack에 동기 코드가 실행중이면 콜백함수는 동기코드가 다 실행되고 없어질때까지 기다렸다가 실행이 되는 것인가요?

네 Call Stack에 실행해야 할 동기 코드가 남아있다면 해당 작업을 모두 수행한 다음 비동기 콜백함수가 실행됩니다.

맨공님의 프로필 이미지
맨공

작성한 질문수

질문하기