Observable from Scratch
by Suman Kumar
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/rxjs/5.4.2/Rx.min.js"></script>
JavaScript
var i = 0;
const one$ = new Rx.Observable(observer => {
console.log('Hooking an observer: '+(++i));
observer.next(123);
observer.next("Hello World");
observer.error("Error is coming !");
setTimeout(() => {
observer.next({id: 1, value: 100});
}, 3000);
setTimeout(() => {
observer.next("Again Hello World");
}, 8000);
});
one$
.catch(err => Rx.Observable.of(err))
.subscribe(
v => console.log(v),
err => console.log(err)
);
one$
.catch(err => Rx.Observable.of(err))
.subscribe(
v => console.log("Am listener 2: ", v),
err => console.log(err)
);
setTimeout(() => {
one$
.catch(err => Rx.Observable.of(err))
.subscribe(
v => console.log("Am listener 3: ", v),
err => console.log(err)
);
},5000);