programming/javascript

[rxjs 용어 정리] hot, cold Observable

worldint 2023. 5. 25. 18:06

Hot Observable : 뜨거워서 데이터를 바로 흘려 보내는 Observable

Cold Observable : 꽁꽁 얼어 붙어 있어 subscribe을 해야만 흘려 보내는 Observable

 

Hot Observable 특징

  • 구독자의 존재 여부와 상관없이 데이터를 배출하는 Observable 이다.
  • 그래서 여러 구독자에 선택적으로 고려가 가능하다.
  • 구독 시점으로부터 발행하는 값을 받는 걸 기본으로 한다.
  • 마우스 이벤트, 키보드 이벤트, 시스템 이벤트 등이 주로 사용된다.
  • 멀티캐스팅도 포함된다.

Cold Observable 특징

  • 일반적인 옵저버 형태를 말한다.
  • 누가 구독해주지 않으면 데이터를 배출해주지 않는다.
  • 일반적인 웹 요청, 데이터베이스 쿼리 등이 사용되며 내가 요청하면 결과를 받는 과정을 거친다.
  • 처음부터 발행하는 기본으로 한다.

* 일반적으로 사용하는 옵저버블은 cold 옵저버이다