我回顾了以下SO问题: 什么是热和冷可观测量?
总结一下:
然而,我觉得热和冷仍然是混乱的根源.所以这是我的问题:
默认情况下所有rx可观察量是否都是冷的(主题除外)?
我经常读到事件是热观察的典型隐喻,但我也读到这Rx.fromEvent(input, 'click')是一个冷可观察的(?).
是否有什么/哪些Rx运算符将冷观测值转换为热观测值(除了publish和之外share)?
例如,它如何与Rx运算符一起使用withLatestFrom?让我们cold$成为一个冷酷的观察者.会sth$.withLatestFrom(cold$,...)是一个热门观察?
或者,如果我不sth1$.withLatestFrom(cold$,...), sth2$.withLatestFrom(cold$,...)和订阅sth1和sth2,将我总是看到两个相同的值sth?
我认为Rx.fromEvent会产生冷的可观测量,但事实并非如此,正如其中一个答案所述.但是,我仍然对此行为感到困惑:codepen.io/anon/pen/NqQMJR?editors=101.不同的订阅从同一个observable获得不同的值.click事件不是共享的吗?
我观看了视频,我知道了一般原则 - 即使没有人订阅也会发生热情,冷却发生在"按需".此外,Publish()将冷转换为热,Defer()将冷转换为冷.
但是,我觉得我错过了细节.以下是我想回答的一些问题: