1 | import { MonoTypeOperatorFunction, SchedulerLike } from '../types';
|
---|
2 | /**
|
---|
3 | * Delays the emission of items from the source Observable by a given timeout or
|
---|
4 | * until a given Date.
|
---|
5 | *
|
---|
6 | * <span class="informal">Time shifts each item by some specified amount of
|
---|
7 | * milliseconds.</span>
|
---|
8 | *
|
---|
9 | * ![](delay.png)
|
---|
10 | *
|
---|
11 | * If the delay argument is a Number, this operator time shifts the source
|
---|
12 | * Observable by that amount of time expressed in milliseconds. The relative
|
---|
13 | * time intervals between the values are preserved.
|
---|
14 | *
|
---|
15 | * If the delay argument is a Date, this operator time shifts the start of the
|
---|
16 | * Observable execution until the given date occurs.
|
---|
17 | *
|
---|
18 | * ## Examples
|
---|
19 | * Delay each click by one second
|
---|
20 | * ```ts
|
---|
21 | * import { fromEvent } from 'rxjs';
|
---|
22 | * import { delay } from 'rxjs/operators';
|
---|
23 | *
|
---|
24 | * const clicks = fromEvent(document, 'click');
|
---|
25 | * const delayedClicks = clicks.pipe(delay(1000)); // each click emitted after 1 second
|
---|
26 | * delayedClicks.subscribe(x => console.log(x));
|
---|
27 | * ```
|
---|
28 | *
|
---|
29 | * Delay all clicks until a future date happens
|
---|
30 | * ```ts
|
---|
31 | * import { fromEvent } from 'rxjs';
|
---|
32 | * import { delay } from 'rxjs/operators';
|
---|
33 | *
|
---|
34 | * const clicks = fromEvent(document, 'click');
|
---|
35 | * const date = new Date('March 15, 2050 12:00:00'); // in the future
|
---|
36 | * const delayedClicks = clicks.pipe(delay(date)); // click emitted only after that date
|
---|
37 | * delayedClicks.subscribe(x => console.log(x));
|
---|
38 | * ```
|
---|
39 | *
|
---|
40 | * @see {@link debounceTime}
|
---|
41 | * @see {@link delayWhen}
|
---|
42 | *
|
---|
43 | * @param {number|Date} delay The delay duration in milliseconds (a `number`) or
|
---|
44 | * a `Date` until which the emission of the source items is delayed.
|
---|
45 | * @param {SchedulerLike} [scheduler=async] The {@link SchedulerLike} to use for
|
---|
46 | * managing the timers that handle the time-shift for each item.
|
---|
47 | * @return {Observable} An Observable that delays the emissions of the source
|
---|
48 | * Observable by the specified timeout or Date.
|
---|
49 | * @method delay
|
---|
50 | * @owner Observable
|
---|
51 | */
|
---|
52 | export declare function delay<T>(delay: number | Date, scheduler?: SchedulerLike): MonoTypeOperatorFunction<T>;
|
---|