Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

RxJS Interval without delay

The following code emits an int after 5000ms and then another in every 5000ms later:

let evens = Observable.interval(5000)
     .map(i => {
          return i * 2;
      });

 evens.subscribe((i) => {
      console.log(i);
 });

Is it possible to do this, but have the first result immediately (0ms), and then wait 5000ms between subsequent results?

like image 374
gunwin Avatar asked Mar 07 '17 11:03

gunwin


1 Answers

You can use timer() where the first parameter is the initial delay:

timer(0, 5000);

Or if you want the first item to be emitted immediately you can also use the startWith() operator.

Jan 2019: Updated for RxJS 6

like image 59
martin Avatar answered Sep 29 '22 07:09

martin