更改定时器回调函数NodeJS

时间:2017-04-16 17:59:20

标签: javascript node.js timer

是否可以更改正在运行的计时器的回调功能?我想在不重置时间的情况下更新定时器的回调函数。

假设:

let timerExample = timers.setInterval(function() { console.log("setTimeout: It's been one second!"); }, 10000);

可能的:

timerExample.callBack = function() { console.log('some new callback') };

1 个答案:

答案 0 :(得分:1)

是这样的;

cb = function(){
   console.log("setTimeout: It's been one second!");
};


let timerExample = timers.setInterval(function() { cb(); }, 10000);
//
// If we change our cb to a new function it will be called in our timer
//
cb =  function() { console.log('some new callback') };

我们正在做的是从我们的计时器函数中调用回调函数cb,因此如果我们在运行中更改它,则timer事件将调用我们的新函数。