在浏览器(Chrome v70)中执行以下代码时,使用RxJS的代码并不总是产生相同的结果...为什么?
const result = [];
interval(40).subscribe(
value => result.push(value)
);
setTimeout(() => {console.log(result);}, 180);
记录的result
有时是[0, 1, 2]
,有时是[0, 1, 2, 3]
。
我希望通过interval
发出的值和通过setTimeout
调度的检查都可以通过JavaScript事件循环进行调度。因此,始终应在检查前发出四个值。
显然这不是真的...为什么?