我已经为 RxJS 方法创建了一个演示scan(),但不幸的是我的计时器无法正常工作,并且出现此错误:Timer 'myTimer' does not exist
console.time('myTimer');
let source = Rx.Observable
.interval(100) // interval starts from 0
.take(4)
.scan((acc, val) => acc + val);
source.subscribe((value) => {
console.timeEnd('myTimer');
console.log('in next. Value: ', value);
});
Run Code Online (Sandbox Code Playgroud)
如何解决这个问题?
您可能正在打电话timeEnd()多次拨打电话。
一旦停止计时器,console.timeEnd("name")使用 chrome 时它就不再存在。
console.time("myTimer");
for(var i=0;i<10000;i++){
}
console.timeEnd("myTimer"); // works
console.timeEnd("myTimer"); // displays an error (in chrome only)Run Code Online (Sandbox Code Playgroud)
这几乎就是你的代码正在做的事情。第一次subscribe称为计时器输出自启动以来的时间量。在随后的 3 个调用中,它不起作用。
此行为特定于 Chrome,它在 IE 和 Firefox 中的工作方式与您期望的一样。