더북(TheBook)

옵저버블 인스턴스를 할당하는 비용은 무한 성장이 가능한 동적 객체인 배열의 그것과는 달리 고정되어 있습니다. 비용이 고정되어 있지 않으면 각 사용자의 클릭, 키 입력 또는 마우스 움직임을 저장할 수 없습니다. 활성화하려면 먼저 옵저버가 subscribe()source$를 구독해야 합니다. subscribe()를 호출하면 휴면 상태에 있는 옵저버블을 깨워 값을 생성할 수 있음을 알립니다. 이 경우 0.5초마다 1, 2, 3, 4, 5 등의 이벤트에 대한 할당을 시작합니다. 옵저버블은 다양한 데이터 소스에 대한 추상화이므로 그 결과는 소스마다 다릅니다.

지연 구독은 옵저버블이 기본적으로 데이터를 보유하지 않음을 의미합니다. 앞의 예에서 일정 간격으로 생성된 각 이벤트는 처리된 후 해제됩니다. 이는 옵저버블이 한곳에 저장되어 있지 않고 실제로 흐르고 있다는 의미입니다. 이 방식은 기본적으로 이벤트가 해제됨을 의미하므로 메모리 누수의 원인이 되는 무한한 메모리 증가를 걱정할 필요가 없습니다. 네이티브 이벤트 기반의 자바스크립트 코드를 작성할 때, 특히 구형 브라우저에서 이벤트 관리와 해제를 무시하면 메모리 누수가 발생할 수 있습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.