RxJS publish-refcount
HTML
<script src="//cdnjs.cloudflare.com/ajax/libs/rxjs/5.1.1/Rx.js"></script>
JavaScript
//http://reactivex.io/documentation/operators/refcount.html
var interval = Rx.Observable.interval(1000);
var source = interval
.do(function (x) {
console.log('Side effect');
});
var published = source.publish();
var uns=published.subscribe(()=>{console.log('x')});
/*.refCount();
let subscribe1 = published.subscribe(createObserver('SourceA'));
let subscribe2 = published.subscribe(createObserver('SourceB'));
function createObserver(tag) {
return Rx.Subscriber.create(
function (x) {
console.log('Next: ' + tag + x);
},
function (err) {
console.log('Error: ' + err);
},
function () {
console.log('Completed');
});
}
Rx.Observable.timer(1000).take(1).subscribe(()=>{
console.log("unsubscribe");
subscribe1.unsubscribe();
});
Rx.Observable.timer(2000).take(1).subscribe(()=>{
console.log("unsubscribe");
subscribe2.unsubscribe();
});*/