RxJS delay
在给定的超时时间内延迟从源发出项目的时间。 直到给定的日期。
delay<T>(delay: number | Date
, scheduler: SchedulerLike
= async): MonoTypeOperatorFunction
<T>
参量
延迟 | 延迟持续时间,以毫秒(a number )或 一个 Date 直到其中源项的发射被延迟。 |
---|---|
调度器 | 可选的。 默认值为 async 。 该 SchedulerLike 用于 管理处理每个项目时移的计时器。 |
returns
MonoTypeOperatorFunction<T>
:一个可观察到的延迟排放源的方法 通过指定的超时或日期可观察到。
描述
时间将每个项目移动指定的数量 毫秒。
如果 delay 参数为数字,则此运算符会时移源 可观察到的时间(以毫秒为单位)。 相对的 值之间的时间间隔将保留。
如果 delay 参数为 Date,则此运算符会时移 在给定日期之前可以观察到的执行。
例子
将每次点击延迟一秒钟
import { fromEvent } from 'rxjs';
import { delay } from 'rxjs/operators';
const clicks = fromEvent(document, 'click');
const delayedClicks = clicks.pipe(delay(1000)); // each click emitted after 1 second
delayedClicks.subscribe(x => console.log(x));
将所有点击延迟到以后的某个日期
import { fromEvent } from 'rxjs';
import { delay } from 'rxjs/operators';
const clicks = fromEvent(document, 'click');
const date = new Date('March 15, 2050 12:00:00'); // in the future
const delayedClicks = clicks.pipe(delay(date)); // click emitted only after that date
delayedClicks.subscribe(x => console.log(x));