我有间隔功能,我希望从我的服务启动时起每隔x分钟运行一次。如果我把它放在我的app js文件上,它只在我的服务器请求完成后调用(我猜它在app js上运行并调用该函数)这是正确的方法吗?如果我的服务器的另一个请求完成,它会再次调用我的函数吗?
答案 0 :(得分:1)
如果您这样做:
requestHandlerFunction(req,res){
setIntervalFunctionSetup();
}
然后每次向服务器发出请求时都会调用setInterval函数,因此如果有10个请求,则会有10个间隔函数在运行。
有多种解决方案,但最简单的方法是在service.listen()函数调用之后调用setInterval函数。
举个例子如果你有像express这样的网络服务器,它将如下所示:
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);
});