[javascript] 이벤트 루프의 활용 예시
이벤트 루프는 자바스크립트의 비동기 동작을 관리하는 핵심적인 메커니즘이다. 이를 통해 웹 애플리케이션에서 비동기적으로 동작해야 하는 작업들을 효율적으로 처리할 수 있다.
타임아웃 설정
이벤트 루프를 활용하여 특정 시간이 지난 후에 작업을 실행할 수 있다. 예를 들어, 다음과 같이 setTimeout
함수를 사용하여 3초 후에 특정 작업을 수행할 수 있다.
setTimeout(() => {
console.log('작업을 수행합니다.');
}, 3000);
이벤트 핸들링
웹 애플리케이션에서 발생하는 이벤트를 처리할 때도 이벤트 루프가 활용된다. 다음은 버튼 클릭 이벤트에 대한 핸들러를 등록하는 예시이다.
document.getElementById('myButton').addEventListener('click', () => {
console.log('버튼이 클릭되었습니다.');
});
프로미스 및 비동기 작업
이벤트 루프를 활용하여 프로미스와 같은 비동기 작업을 처리할 수 있다. 다음은 프로미스를 사용한 비동기 작업의 예시이다.
const fetchData = () => {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve('데이터가 성공적으로 불러와졌습니다.');
}, 2000);
});
};
fetchData().then((data) => {
console.log(data);
});
이러한 방식으로 이벤트 루프를 활용하여 자바스크립트에서 비동기적인 작업들을 효율적으로 관리할 수 있다.
참고 문헌:
- https://developer.mozilla.org/ko/docs/Web/JavaScript/EventLoop
- https://developer.mozilla.org/ko/docs/Web/JavaScript/Guide/Using_promises