Node.js:嵌套的setInterval() - 方法 - 内部不会停止

时间:2015-03-17 19:38:55

标签: javascript node.js setinterval timing

我需要在node.js中正确定时重复事件。为了获得比通常的setInterval方法更高的分辨率,我使用process.hrtime()。 npm模块“nanotimer”(NPM - nanotimerGithub - nanotimer)使用setInterval()setTimeOut()等常用方法提供此功能。

两个计时器应该同时停止。

代码如下:

var NanoTimer = require('nanotimer');

var timerA = new NanoTimer();
var timerB = new NanoTimer();

var index = 0;

timerA.setInterval(function(){
    console.log("A");

    timerB.setInterval(function(){
        console.log("B");
    }, '3s');

    if(index > 10){
        console.log("Stop Timer A");
        timerA.clearInterval();
        console.log("Stop Timer B");
        timerB.clearInterval();
    }

    index++;

}, '1s');

输出:

A
A
A
A
B
A
A
A
B
A
A
A
B
A
A
Stop Timer A
Stop Timer B    //correct up to here
B               //timerB continues forever, every 3 seconds
B
B
...

我找不到停止内部计时器的方法。你有什么建议吗?

0 个答案:

没有答案