I've been playing with creating my own observables and want to create an observable that returns the 3 times table starting from 3 indefinitely, one every second. However when I try it with this code it freezes the UI and never completes. Could someone explain why this is happening?
I'm still unsure what the subscriber function actually does and what happens to the observable once it hits an observer.next.
LogThreeTimesTableEveryTwoSeconds(): void {
let currentValue = 0;
function someSubscriber(observer: Observer<number>) {
while (currentValue < 10) {
setTimeout(() => {
currentValue += 3;
observer.next(currentValue);
}, 1000);
}
}
let anObservable = new Observable(someSubscriber);
anObservable.subscribe((x) => console.log(x));
}