-1
我有一个间隔函数,我希望从服务启动时开始每x分钟运行一次。如果我把它放在我的应用程序js文件中,它只会在完成对我的服务器的请求后才会调用(我猜它运行在应用程序js上并调用函数)是否正确地执行此操作?如果对我的服务器的另一个请求完成,它会再次调用我的函数吗?节点js在启动时调用一次函数
我有一个间隔函数,我希望从服务启动时开始每x分钟运行一次。如果我把它放在我的应用程序js文件中,它只会在完成对我的服务器的请求后才会调用(我猜它运行在应用程序js上并调用函数)是否正确地执行此操作?如果对我的服务器的另一个请求完成,它会再次调用我的函数吗?节点js在启动时调用一次函数
如果你做这样的事情:
requestHandlerFunction(req,res){
setIntervalFunctionSetup();
}
然后setInterval函数将分别有对服务器的请求,所以如果有10个请求,那么将有大约运行10个区间函数时被调用。
有多种解决方案,但最简单的方法是在service.listen()函数调用之后调用setInterval函数。
举个例子如果你有一个Web服务器一样表达它看起来就像这样:
var express = require('express');
var app = express();
app.get('/', function (req, res) {
res.send('Hello World!');
});
app.listen(3000, function() {
setInterval(function setIntervalCallback(){
//do something every 10 sec
}, 10000);
});
你能否提供一些代码的例子吗? – mfrachet
我不确定你想要达到什么效果,但我建议不要这样做。相反,尝试一些工作调度。您将可以更好地控制任务。 –
我们需要查看您的代码,以了解您在说什么和/或如何最好地完成它。始终包含相关的代码。 – jfriend00