在 Rx JS 的表面上,我得到了以下代码片段:
var observer1 = Rx.Observer.create(
function (x) {
console.log('Next: ' + x);
},
function (err) {
console.log('Error: ' + err);
},
function () {
console.log('Completed');
}
);
var observer2 = Rx.Observer.create(
function (x) {
console.log('Next: ' + x);
},
function (err) {
console.log('Error: ' + err);
},
function () {
console.log('Completed');
}
);
var source1 = Rx.Observable.return(1);
var source2 = Rx.Observable.return(2);
var subscription1 = source1.subscribe(observer1);
var subscription2 = source2.subscribe(observer1);
输出:下一个:1 已完成
JS BIN 代码参考:http: //goo.gl/DiHdWu
为两个流订阅同一个观察者只会从第一个流中产生数据。但是,当订阅其他观察者时,事情会按预期进行。有人可以解释发生了什么吗?
var subscription1 = source1.subscribe(observer1);
var subscription2 = source2.subscribe(observer2);
输出:下一个:1 已完成 下一个:2 已完成