4
冷热观测:是否存在“热”和“冷”运算符?
我回顾了以下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可以创建冷的可观察物,但事实并非如此,如答案之一所述。但是,我仍然对这种行为感到困惑:https : //codepen.io/anon/pen/NqQMJR? editors =101。不同的订阅从相同的可观察值中获得不同的值。不是click事件共享?