모든 Rx Observable은 기본적으로 Cold입니까?
기본적으로 , 주제를 제외한 모든 Rx 관찰 가능 항목은 콜드입니다. 즉, 구독한 관찰자가 한 명 이상 있을 때만 값을 방출합니다.
Cold Observable을 Hot Observable로 바꾸는 Rx 연산자
두 개의 주요 연산자가 있습니다. Cold Observable을 Hot Observable로 변환할 수 있습니다.
withLatestFrom Operator 및 Cold Observables
withLatestFrom 관찰 대상의 차가움이나 뜨거움은 변하지 않습니다. 귀하의 예에서:
Rx.fromEvent 및 Hot/Cold 동작
CodePen 예제는 Rx.fromEvent 관찰 가능 항목을 구독할 때가 아니라 요소를 클릭할 때만 이벤트가 발생한다는 사실에 기인합니다. 이로 인해 Observable에 대한 각 구독은 다른 이벤트를 받습니다.
Cold Observable에 대한 단순화된 흐름 다이어그램
콜드 Observable에 대한 단순화된 데이터 흐름을 설명하려면 다음을 수행하세요.
Source -> Observer1 -> Observer2
Hot Observable에 대한 단순화된 흐름 다이어그램
Hot Observable의 흐름은 다음과 같습니다.
Source -> Subject -> Observer1 -> Observer2
주제가 중앙 허브 역할을 합니다. , 수신 데이터를 구독한 모든 관찰자에게 멀티캐스트합니다.
멀티캐스팅 연산자(게시/공유)
멀티캐스팅 연산자는 내부적으로 주제를 생성하고 연결 가능한 Observable을 반환합니다. Observable이 연결되면 주체는 업스트림 Observable을 구독하고 구독한 모든 관찰자에게 데이터를 멀티캐스트합니다.
연산자 사용 시 데이터 흐름 고려
데이터 흐름 이해 그리고 운영자의 행동이 중요합니다. Observable이 뜨겁더라도 후속 연산자가 Hot 또는 Cold 동작에 어떤 영향을 미칠 수 있는지 고려하는 것이 중요합니다.
위 내용은 Rx Observable은 기본적으로 Cold 상태입니까? '게시'와 '공유'를 통한 데이터 흐름 이해의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!