node.js中的node-schedule回调函数

时间:2013-10-03 16:59:42

标签: node.js callback

所以我使用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);

一旦发射并退出。

1 个答案:

答案 0 :(得分:1)

function(){.....}创建一个指向匿名函数的指针,该函数在计划的超时到期时进行评估。直接调用直接调用,因为它不是函数指针;本质上,程序正在尝试评估它,以防函数返回它可以存储和稍后访问的指针(return function(){.....})。您可以通过将回调设置为

来模拟您想要的行为
function(){test()}

或将测试体改为:

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

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