이 네 가지 setTimeout 함수와 해당 실행 부분을 살펴보십시오.
P粉304704653
P粉304704653 2023-09-17 18:04:25
0
1
534

으아아아

여기서 제가 이해한 바에 따르면 4개의 setTimeout 함수가 콜백 대기열에서 동시에 실행되기 시작합니다. 내 생각이 맞다면 내 질문은 네 번째 setTimeout() 함수가 콜백 대기열에서 실행의 절반 또는 절반 이상을 완료했는지 아니면 호출 스택 구현에 푸시된 후 7초 후에 처음부터 시작하는지 여부입니다. 그렇다면 뒤에서 무슨 일이 벌어지고 있는 걸까요?

P粉304704653
P粉304704653

모든 응답 (1)
P粉709307865

이러한 함수는 콜백 대기열에서 병렬로 또는 동시에 실행되지 않습니다. 개별적으로 비동기식으로 예약됩니다. 실행 순서는 각 기능의 지정된 대기 시간에 따라 다릅니다. 각 setTimeout 함수에 대해 콜백은 지정된 지연 후에 실행되도록 예약됩니다.

실행 순서는 다음과 같습니다.

으아아아

단,네 번째 setTimeout 함수는 반드시 다른 setTimeout 함수와 함께 실행되는 것은 아니며, 단독으로 실행된다는 보장도 없습니다.실행 순서는 콜백 대기열에 의해 결정되며, 이벤트 루프는 콜백 대기열에서 작업을 가져와서 호출 스택이 비어 있는 경우에만 호출 스택에서 실행합니다. 따라서 네 번째 setTimeout 함수는 호출 스택에 다른 작업이 없을 때만 실행을 시작합니다. 주어진 코드를 실행한 후 출력은 다음 순서로 나타나야 합니다.

다음은 출력 순서입니다.

으아아아
    최신 다운로드
    더>
    웹 효과
    웹사이트 소스 코드
    웹사이트 자료
    프론트엔드 템플릿
    회사 소개 부인 성명 Sitemap
    PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!