목록2022/05/05 (2)
hmk run dev
이벤트 루프 이벤트 루프란 JS엔진이 아닌, 구동하는 환경(브라우저, 노드)에서 가지고 있는 장치이다. 콜 스택과 태스크 큐(콜백 큐)를 감시하며, 콜 스택이 비어있는 경우에 태스크 큐에서 태스크(콜백 함수)를 가져와 콜 스택에 넣어 실행시키는 기능을 한다. 태스크 큐 이외에 마이크로 태스크 큐가 있는데 이는 JS의 promise의 동작 방식과 연관이 있다. 이제 이벤트 루프가 2개의 큐를 통해 각각의 태스크들을 어떻게 핸들링하는지 살펴보자! 매크로태스크 큐 & 마이크로태스크 큐 2개의 큐 모두 콜백함수가 들어간다는 점은 동일하다! 둘 다 queue라는 키워드가 들어가 있지만 엄밀히 말하면 우선순위 큐라고 할 수 있는데 이벤트 루프가 2개의 큐에서 태스크를 꺼내는 조건이 제일 오래된 순이기 때문이다! 매..
setTimeout functino hello () { console.log("hellio") }; setTimeout(hello, 1000) - 최소 delay 시간(1초) 후에 콜백 함수를 실행시킨다. setInterval let timer = setInterval(() => console.log("hello"), 1000) // 1초 마다 hello 출력 setTimeout(() => {clearInterval(timer)}, 5000) // 5초 후에 반복호출 종료 - 1초마다 콜백 함수를 반복 호출한다. setInterval 대신 재귀 setTimeout을 써야 하는 이유 let timer = setTimeout(function tick () { console.log('hello'); let t..