Odd Tens Observable

by gladtocode

HTML

<body>
  Values:
</body>

JavaScript

const print = (value) => {
  const paragraph = document.createElement('p');
  paragraph.innerHTML = value;
  document.body.appendChild(paragraph);
}

const integerObservable = (observer) => {
  let x = 0;
  setInterval(
    () => {
      x = x + 1;
      observer(x);
    },
    500
  );
};

class Observable {
  constructor(observableFunction) {
    this.observableFunction = observableFunction;
    this.subscribe = this.subscribe.bind(this);
  }
  
  subscribe(observer) {
    return this.observableFunction(observer);
  }
}

const observable = new Observable(integerObservable)
observable.subscribe(print);