在我的主脚本中,我启动了一个定时调用函数的计时器。如何从正在运行的文件外部调用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脚本正在运行。
答案 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);