簡體   English   中英

Node.js:當服務器作為初始化啟動時,如何運行特殊功能?

[英]Node.js : How to run a special function as server starts as a initialization?

我使用Express框架,我具有此功能,並且自服務器啟動以來我要定期運行它:

setTimeout(function () {
    console.log('timeout completed');
}, 1000);

所以我將這段代碼放到稱為App.js的Express.js Framework的初始文件中,但是它只運行兩次,問題出在哪里,我該如何解決?

該時間量完成后, setTimeout函數運行一次 ,在您的情況下為1s(1000ms)。

相反,您可能想使用setInterval ,它執行相同的操作,只是它直到您告知為止才停止。

這是一個例子:

var max = 3;
var i = 0;

var timer = setInterval(function(){
   if(i === max){
      // stop the timer from looping.
      clearInterval(timer);
   }else{
      i++;
   }   
},1000);

看起來您正在描述一項cron作業,為什么不使用許多節點crons模塊中的任何一個。

https://www.npmjs.com/package/node-cron

檢查一下,非常簡單。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM