timer

签名: timer(initialDelay: number | Date, period: number, scheduler: Scheduler): Observable

给定持续时间后,再按照指定间隔时间依次发出数字。

timer - 图1

示例

示例 1: 当 timer 结束时发出一个值

( jsBin |
jsFiddle )

  1. import { timer } from 'rxjs/observable/timer';
  2. // 1秒后发出0,然后结束,因为没有提供第二个参数
  3. const source = timer(1000);
  4. // 输出: 0
  5. const subscribe = source.subscribe(val => console.log(val));
示例 2: timer 1秒后发出值,然后每2秒发出值

( jsBin |
jsFiddle )

  1. import { timer } from 'rxjs/observable/timer';
  2. /*
  3. timer 接收第二个参数,它决定了发出序列值的频率,在本例中我们在1秒发出第一个值,
  4. 然后每2秒发出序列值
  5. */
  6. const source = timer(1000, 2000);
  7. // 输出: 0,1,2,3,4,5......
  8. const subscribe = source.subscribe(val => console.log(val));

其他资源

:file_folder: 源码:
https://github.com/ReactiveX/rxjs/blob/master/src/internal/observable/timer.ts