JS Bin ReplaySubject source https://jsbin.com/cibikof
<!DOCTYPE html>
<html>
<head>
<meta name="description" content=RXjs - ReplaySubjec">
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>JS Bin</title>
</head>
<body>
<script src="https://unpkg.com/@reactivex/rxjs@5.0.3/dist/global/Rx.js"></script>
<script id="jsbin-javascript">
'use strict';
var subject = new Rx.ReplaySubject(Number.POSITIVE_INFINITY, 120);
var observerA = {
next: function next(val) {
console.log('A next: ' + val);
},
error: function error(err) {
console.error('A err: ' + err);
},
complete: function complete() {
console.log('A complete');
}
};
var observerB = {
next: function next(val) {
console.log('B next: ' + val);
},
error: function error(err) {
console.error('B err: ' + err);
},
complete: function complete() {
console.log('B complete');
}
};
subject.subscribe(observerA);
setTimeout(function () {
subject.next(1);
}, 100);
setTimeout(function () {
subject.next(2);
}, 200);
setTimeout(function () {
subject.next(3);
}, 300);
setTimeout(function () {
subject.subscribe(observerB);
}, 400);
</script>
<script id="jsbin-source-javascript" type="text/javascript">const subject = new Rx.ReplaySubject(Number.POSITIVE_INFINITY, 120);
const observerA = {
next: (val) => {
console.log('A next: ' + val);
},
error: (err) => {
console.error('A err: ' + err);
},
complete: () => {
console.log('A complete');
}
};
const observerB = {
next: (val) => {
console.log('B next: ' + val);
},
error: (err) => {
console.error('B err: ' + err);
},
complete: () => {
console.log('B complete');
}
};
subject.subscribe(observerA);
setTimeout(() => { subject.next(1);}, 100);
setTimeout(() => { subject.next(2);}, 200);
setTimeout(() => { subject.next(3);}, 300);
setTimeout(() => {
subject.subscribe(observerB);
}, 400);
</script></body>
</html>
'use strict';
var subject = new Rx.ReplaySubject(Number.POSITIVE_INFINITY, 120);
var observerA = {
next: function next(val) {
console.log('A next: ' + val);
},
error: function error(err) {
console.error('A err: ' + err);
},
complete: function complete() {
console.log('A complete');
}
};
var observerB = {
next: function next(val) {
console.log('B next: ' + val);
},
error: function error(err) {
console.error('B err: ' + err);
},
complete: function complete() {
console.log('B complete');
}
};
subject.subscribe(observerA);
setTimeout(function () {
subject.next(1);
}, 100);
setTimeout(function () {
subject.next(2);
}, 200);
setTimeout(function () {
subject.next(3);
}, 300);
setTimeout(function () {
subject.subscribe(observerB);
}, 400);