timer
signature: timer(initialDelay: number | Date, period: number, scheduler: Scheduler): Observable
After given duration, emit numbers in sequence every specified duration.
Examples
Example 1: timer emits 1 value then completes
import { timer } from 'rxjs/observable/timer';
//emit 0 after 1 second then complete, since no second argument is supplied
const source = timer(1000);
//output: 0
const subscribe = source.subscribe(val => console.log(val));
Example 2: timer emits after 1 second, then every 2 seconds
import { timer } from 'rxjs/observable/timer';
/*
timer takes a second argument, how often to emit subsequent values
in this case we will emit first value after 1 second and subsequent
values every 2 seconds after
*/
const source = timer(1000, 2000);
//output: 0,1,2,3,4,5......
const subscribe = source.subscribe(val => console.log(val));
Additional Resources
- timer
- Official docs - Creation operators: interval and timer
- André Staltz
Source Code:
https://github.com/ReactiveX/rxjs/blob/master/src/internal/observable/timer.ts