Zone.js는 Angular가 역사적으로 언제 change detection을 실행할지 알기 위해 사용해 온 라이브러리입니다. 브라우저 비동기 API에 패치를 적용하여, Angular가 상태를 변경할 수 있는 모든 이벤트를 자동으로 감지할 수 있게 합니다. Zoneless Angular는 이 의존성을 제거하고, 대신 signal과 명시적 알림에 의존합니다.
Zone.js가 하는 일
Zone.js는 비동기 API에 몽키 패치를 적용한다: setTimeout, addEventListener, Promise,
XHR/fetch 등. 이들 중 하나가 발생하면, Zone.js가 Angular에 알림 →
Angular가 자동으로 change detection을 실행.
이것이 Angular의 자동 업데이트 뒤에 있는 "마법"입니다. HTTP 응답이나 클릭 후 속성을 변경하면 뷰가 그냥 업데이트됩니다. Zone.js가 비동기 이벤트가 완료되었다고 Angular에 알려주기 때문입니다.
