1. 이벤트 기반(Event-driven)
이벤트 기반이란 이벤트가 발생할 때 미리 지정해둔 작업을 수행하는 방식이다.
이벤트로는 클릭이나 네트워크 요청 등이 있을 수 있다.
이벤트 기반 시스템에서는 특정 이벤트가 발생할 때 무엇을 할지 미리 등록해두어야 한다.
이를 이벤트 리스너(Event Listener)에 콜백(CallBack) 함수를 등록한다고 표현한다.
이벤트가 발생하면 이벤트 리스너에 등록해둔 콜백 함수를 호출하며, 발생한 이벤트가 없거나 발생했던 이벤트를 다 처리하면, Node는 다음 이벤트가 발생할 때까지 대기한다.
이벤트 기반 모델에서는 이벤트 루프(Event Loop)라는 개념이 등장한다.
여러 이벤트가 동시에 발생했을 때 어떤 순서로 콜백 함수를 호출할지를 이벤트 루프가 판단한다.