javascript - 更改 NodeJS 定时器回调函数

标签 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') };

最佳答案

是的,就像这样;

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,因此如果我们即时更改它,计时器事件将调用我们的新函数。

关于javascript - 更改 NodeJS 定时器回调函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43440315/

相关文章:

javascript - 如何使用 jQuery 从 div 中删除 id 属性?

javascript - 一键调用PHP和对话框

flutter - 从父小部件 flutter 启动和停止秒表

excel - 如何在 VBA 中制作安全的 API 计时器?

javascript - 使用 X,Y 坐标绘制圆内的点

javascript - 使用 NodeJS 自触发永久运行 Firebase 进程

node.js - 使用 Socket.IO 设置和获取 session 数据时,传递的函数有何用途?

node.js - 如何在 Slack App 中存储配置项

windows - 如何将 QueryPerformanceCounter 转换为 Unix 纳秒(纪元)

javascript - 通过 jQuery 或 JS 打开或重定向到 Base64 DataURL