在下面的示例中,每次 onNext 调用都会调用 map 两次,这是不必要的,因为 ds 的相同值可以被两个观察者重用。如何编写代码以使每次 onNext 调用只调用一次地图?还是我应该使用承诺?
var subject = new Rx.BehaviorSubject(42);
var ds = subject.map(function(x) {
console.log("processing");
return x + 100;
});
var subscription1 = ds.subscribe(
function (x) {
console.log('first observed: ' + x.toString());
}
);
var subscription2 = ds.subscribe(
function (x) {
console.log('second observed: ' + x.toString());
}
);
subject.onNext(56);
subject.onNext(134);