-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