所以我使用https://npmjs.org/package/node-schedule来安排一些任务,对于node.js来说有点新鲜,我不明白为什么要创建一个函数' in&line;'在定义一个函数并且调用它时没有正确安排,它只是立即运行然后退出。
job = schedule.scheduleJob({}, function (){console.log('one minute')});
有效,但
function test(){
console.log('one minute')
}
job = schedule.scheduleJob({}, test);
一旦发射并退出。
答案 0 :(得分:1)
function(){.....}创建一个指向匿名函数的指针,该函数在计划的超时到期时进行评估。直接调用直接调用,因为它不是函数指针;本质上,程序正在尝试评估它,以防函数返回它可以存储和稍后访问的指针(return function(){.....})。您可以通过将回调设置为
来模拟您想要的行为function(){test()}
或将测试体改为:
return function(){console.log('one minute')};
您可以使用setInterval和setTimeout方法在浏览器窗口中模拟此行为;它们是节点计划在内部用于计划任务的内容。