如何防止节点程序停止运行?

我看到许多使用节点永远运行的应用程序。

因此,我尝试使用setInterval方法,我认为它会让它永远运行,但显然它不。

 var request = require('request'); var queue = function(item) { request({ uri: 'http://www.google.net' }, function(error, response, body) { if (!error && response.statusCode == 200) { console.log(body) // Print the google web page. } }) }; setInterval(queue("google"),1000); //do this every 1 second. 

当我在程序上面运行时,一秒钟后停止。

我怎样才能修改上面的代码,以保持运行,如果我运行它与节点?

其实你有你的代码中的错误:

setInterval(queue("google"),1000); //do this every 1 second.

而不是传递上面的函数作为第一个参数,而是传递执行一个函数的结果。

因此,要么setInterval(queue, 1000)或如果你想多个参数执行以下操作:

 setInterval(function() { queue(how_many_params_you_want); }, 1000); 

一个更好的解决scheme是使用npm: 永远

您必须将setInterval分配给本地variables。

 setInterval(function(){},1000); 

会停止。

 var timer = setInterval(function(){},1000); 

将不会。