timer

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

用法

timer(
  dueTime: number | Date = 0,
  periodOrScheduler?: number | SchedulerLike,
  scheduler?: SchedulerLike
): Observable<number>

参数

参数说明
dueTime可选。默认值:0。单位:毫秒。初始延迟时间。
periodOrScheduler可选。默认值:undefined。后续序列投射的时间间隔。
scheduler可选。默认值:undefined

返回

类型: Observable<T>

示例

当 timer 结束时投射一个值

import { timer } from 'rxjs';

// 1秒后投射0,然后结束,因为没有提供第二个参数
const source = timer(1000);
// 输出: 0
const subscribe = source.subscribe(val => console.log(val));

timer 1 秒后投射值,然后每 2 秒投射值

import { timer } from 'rxjs';

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

源码

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

在 GitHub 上编辑此页面 article.updatedAt Wed, Aug 11, 2021