codecamp

RxJS timeInterval

发出一个包含当前值和时间的对象 在发出当前值和上一个值之间传递 使用提供 schedulernow()方法检索 每次发射的当前时间,然后计算差异。 的 scheduler 默认为 async,因此默认情况下, interval将位于 毫秒。

timeInterval<T>(scheduler: SchedulerLike = async): OperatorFunction<T, TimeInterval<T>>

参量

调度器 可选的。 默认值为 async。 调度程序用于获取当前时间。

returns

OperatorFunction<T, TimeInterval<T>>:可观察到的有关值和间隔的信息

描述

将发出项目的 Observable 转换为 发出两次排放之间所经过时间的指示。

例子

发出当前值与最后一个值之间的间隔

const seconds = interval(1000);


seconds.pipe(timeInterval())
.subscribe(
    value => console.log(value),
    err => console.log(err),
);


seconds.pipe(timeout(900))
.subscribe(
    value => console.log(value),
    err => console.log(err),
);


// NOTE: The values will never be this precise,
// intervals created with `interval` or `setInterval`
// are non-deterministic.


// {value: 0, interval: 1000}
// {value: 1, interval: 1000}
// {value: 2, interval: 1000}
RxJS throwlfEmpty
RxJS timeout
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

RxJS operators

RxJS fetch

RxJS testing

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }