RxJS delay

2020-10-14 10:02 更新

在給定的超時(shí)時(shí)間內(nèi)延遲從源發(fā)出項(xiàng)目的時(shí)間。 直到給定的日期。

delay<T>(delay: number | Date, scheduler: SchedulerLike = async): MonoTypeOperatorFunction<T>

參量

延遲 延遲持續(xù)時(shí)間,以毫秒(a number)或 一個(gè) Date直到其中源項(xiàng)的發(fā)射被延遲。
調(diào)度器 可選的。 默認(rèn)值為 async。  該 SchedulerLike用于  管理處理每個(gè)項(xiàng)目時(shí)移的計(jì)時(shí)器。

returns

MonoTypeOperatorFunction<T>:一個(gè)可觀察到的延遲排放源的方法 通過指定的超時(shí)或日期可觀察到。

描述

時(shí)間將每個(gè)項(xiàng)目移動(dòng)指定的數(shù)量 毫秒。

delay marble diagram

如果 delay 參數(shù)為數(shù)字,則此運(yùn)算符會(huì)時(shí)移源 可觀察到的時(shí)間(以毫秒為單位)。 相對(duì)的 值之間的時(shí)間間隔將保留。

如果 delay 參數(shù)為 Date,則此運(yùn)算符會(huì)時(shí)移 在給定日期之前可以觀察到的執(zhí)行。

例子

將每次點(diǎn)擊延遲一秒鐘

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));

將所有點(diǎn)擊延遲到以后的某個(gè)日期

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));

也可以看看

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)