从Node.js中的主脚本调用函数

时间:2017-10-07 15:36:51

标签: node.js function command-line timer

在我的主脚本中,我启动了一个定时调用函数的计时器。如何从正在运行的文件外部调用Stop-Method?

    var myVar = setInterval(progress, 10000);

    function progress() {
    // do smth
    }

    function stopInterval() {
       clearInterval(myVar);
    }

如果脚本正在运行,我如何调用stopInterval()?

我在main.js中导出了这个函数:

    module.exports.stopTimer = function() {
    console.log("Stop Timer");
    clearInterval(myVar);
};

我创建了一个单独的文件(stoptimer.js),其中包含以下内容:

    var main = require('./main.js');
    main.stopTimer();

到目前为止这是对的吗?如果是,我该如何执行stoptimer.js?我的命令行被阻止,因为main.js脚本正在运行。

1 个答案:

答案 0 :(得分:0)

您可以在区间函数

内调用clearInterval()
let shouldRun = true;

function shouldStop(){
 shouldRun = false;
}

function progress(){
    if(!shouldRun){
        clearInterval(interval);
    }
}
let interval = setInterval(progress, 10000);

// call from other file or elsewhere
setTimeout(()=>{shouldStop()}, 1500);