node.js中的node-schedulecallback函数

所以我使用https://npmjs.org/package/node-schedule来安排一些任务,对node.js来说有些新意,我不明白为什么在定义一个函数的时候创build一个函数“in line”它没有正确的计划,它只是立即运行,然后退出。

job = schedule.scheduleJob({}, function (){console.log('one minute')}); 

作品,但是

 function test(){ console.log('one minute') } job = schedule.scheduleJob({}, test); 

发生一次并退出。

function(){…..}创build一个指向匿名函数的指针,当计划的超时过期时,该指针将被评估。 由于直接调用不是函数指针,因此会立即进行评估。 本质上,程序正试图评估它,以防函数返回一个它可以存储和访问的指针(return function(){…..})。 您想要的行为可以通过设置callback来模拟

 function(){test()} 

或者将testing主体改为:

 return function(){console.log('one minute')}; 

您可以使用setInterval和setTimeout方法在浏览器窗口中模拟此行为; 它们是节点调度在内部用于调度任务的内容。