【发布时间】:2015-11-14 21:16:27
【问题描述】:
我对使用Rx.Observable.just 创建的shared 流的行为感到困惑。
例如:
var log = function(x) { console.log(x); };
var cold = Rx.Observable
.just({ foo: 'cold' });
cold.subscribe(log); // <-- Logs three times
cold.subscribe(log);
cold.subscribe(log);
var coldShare = Rx.Observable
.just({ foo: 'cold share' })
.share();
coldShare.subscribe(log); // <-- Only logs once
coldShare.subscribe(log);
coldShare.subscribe(log);
两个流只发出一个事件,但未共享的一个可以订阅 3 次。这是为什么呢?
我需要“分叉”一个流但共享它的值(然后合并分叉的流)。
如何在分享流的价值的同时多次订阅它?
我意识到这可能与“冷”和“热”可观察对象的概念有关。然而:
-
Rx.Observable.just()创建的流是冷的还是热的? - 应该如何确定上一个问题的答案?
【问题讨论】: