[javascript] 메시지 루프를 통해 어떻게 이벤트 루프를 구현할 수 있나요?

아래는 JavaScript의 비슷한 기능을 구현한 예제입니다.

// 메시지 큐를 나타내는 배열
let messageQueue = [];

// 이벤트 루프를 통해 메시지 처리
function eventLoop() {
  while (messageQueue.length > 0) {
    let message = messageQueue.shift();
    // 메시지 처리 로직
  }
  // 다음 루프 실행까지 대기
  setTimeout(eventLoop, 0); 
}

// 메시지 추가
function addMessage(message) {
  messageQueue.push(message);
}

// 예시: 메시지 추가
addMessage("처리할 메시지 1");
addMessage("처리할 메시지 2");

// 이벤트 루프 시작
eventLoop();

위 예제는 JavaScript를 사용하여 단순한 이벤트 루프를 구현한 것입니다. 실제로는 웹 애플리케이션에서는 브라우저 API나 Node.js의 이벤트 처리 메커니즘을 사용합니다.