Angular2 Observable with interval

20,039

The Observable class has a static interval method taking milliseconds (like the setInterval method) as a parameter:

counter() {
    return Observable
        .interval(500)
        .flatMap(() => {
            return this.media.getCurrentPosition();
        });
}

And in your component or wherever:

test() {
  this.playerService.initUrl(xxxx) // This works
  this.playerService.counter().subscribe(
      data => {
          console.log(data);
      }
   );
}
Share:
20,039
Drakee510
Author by

Drakee510

Updated on August 01, 2020

Comments

  • Drakee510
    Drakee510 over 3 years

    I have a function that needs to be called about every 500ms. The way I am looking at doing it with angular2 is using intervals and observables. I have tried this function to create the observable:

    counter() {
      return Observable.create(observer => {
        setInterval(() => {
          return this.media.getCurrentPosition();
        }, 500)
      })
    }
    

    With this code for the subscriber:

    test() {
      this.playerService.initUrl(xxxx) // This works
      this.playerService.counter().subscribe(data => {
        res => {
          console.log(data);
        }
      })
    }
    

    I am very new to observables and angular2 so I might be taking the wrong approach completely. Any help is appreciated.