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
( StackBlitz | jsBin | jsFiddle )
// RxJS v6+
import { timer } from 'rxjs';
//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
( StackBlitz | jsBin | jsFiddle )
// RxJS v6+
import { timer } from 'rxjs';
/*
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));
Related Recipes
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