11

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?

martin
  • 93,354
  • 25
  • 191
  • 226
gunwin
  • 4,578
  • 5
  • 37
  • 59

1 Answers1

18

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

martin
  • 93,354
  • 25
  • 191
  • 226