可观察到的发射事件在某个时间间隔内完全干扰

时间:2018-04-26 08:23:13

标签: rxjs

我想创建一个每隔一段时间发出一个Observable,让我们说每100毫秒。

如果我尝试使用timer方法,我看到的是2个事件之间的实际时间间隔总是大于100毫秒。与interval方法相同。

这是我用来衡量时间间隔的片段

const obsTime = Observable.timer(0,100).map(d => d + 1).take(30);

let t0 = Date.now();
let t1;
const timeIntervals = new Array<number>();
obsTime
.do(() => t1 = Date.now())
.do(() => timeIntervals.push(t1 - t0))
.do(() => t0 = t1)
.subscribe(null, null, () => console.log(JSON.stringify(timeIntervals)));

这是我打印的结果

[2,105,103,101,103,106,102,105,103,106,105,103,105,105,105,105,106,105,102,101,105,105,104,102,105,103,106,102,101,105]

我的问题是:是否有可能获得一系列完全以100毫秒距离发射的事件?

我不认为这是CPU的时钟或速度问题,因为我在相当新的和功能强大的Mac上运行,这基本上是空闲的。

0 个答案:

没有答案