Tag: reactive programming

冷热观察者:有“热”和“冷”操作者吗?

我回顾了以下这个问题: 什么是热和冷的观察? 总结: 一个冷观察者在有观察者消耗它们的时候发出它的值,即观察者接收到的值序列与订阅时间无关。 所有观察者都将消耗相同的值序列。 一个热点观察者发出的价值与其订阅无关,即观察者收到的价值是订阅时间的函数。 然而,我觉得热与寒冷仍然是一个混乱的来源。 所以这是我的问题: 所有rx观察者在默认情况下都是冷的(除了科目)? 我经常看到事件是热门的可观察事物的尖端隐喻,但是我也读到Rx.fromEvent(input, 'click')是一个冷的可观察的Rx.fromEvent(input, 'click') (?)。 有哪些Rx运营商将冷观测变成热门观测(除了publish和share )? 比如说,它是如何与Rx运算符withLatestFrom ? 让cold$是一个冷的可观察的,在某个地方被订阅。 将sth$.withLatestFrom(cold$,…)是一个热点? 或者如果我做sth1$.withLatestFrom(cold$,…), sth2$.withLatestFrom(cold$,…)并订阅sth1和sth2 ,我会一直看到这两个相同的值吗? 我认为Rx.fromEvent创造了冷的可观察性,但事实并非如此,正如答案中提到的那样。 但是,我仍然对这种行为感到困惑: codepen.io/anon/pen/NqQMJR?editors=101 。 不同的订阅从相同的观察值获得不同的值。 是不是共享click事件?