Nodejs計時器定時執行函數

來源:互聯網
上載者:User

標籤:

一、最low的定時器: 每次執行完間隔5s,然後繼續執行

(function schedule() {    setTimeout(do_it, 5000, schedule);}());function do_it(callback) {    var times = new Date();    console.log(times.getSeconds());    callback();};

二、逼格高一點使用外掛程式 node-schedule

  安裝:npm install node-schedule

  1、確定時間,例如:2012年11月21日,5:30

var schedule = require(‘node-schedule‘);var date = new Date(2012, 11, 21, 5, 30, 0);var j = schedule.scheduleJob(date, function(){    console.log(‘The world is going to end today.‘);});j.cancel();  //取消預設計劃

  2、每小時的固定分鐘,例如:每個小時的42分鐘

var schedule = require(‘node-schedule‘);var rule = new schedule.RecurrenceRule();rule.minute = 42; var j = schedule.scheduleJob(rule, function(){    console.log(‘The answer to life, the universe, and everything!‘);});

  3、一個星期中的某些天的某個時刻,例如:每周四,周五,周六,周天的17點

var rule = new schedule.RecurrenceRule();rule.dayOfWeek = [0, new schedule.Range(4, 6)];rule.hour = 17;rule.minute = 0;var j = schedule.scheduleJob(rule, function(){    console.log(‘Today is recognized by Rebecca Black!‘);});

  4、每秒執行

 var rule = new schedule.RecurrenceRule();  var times = [];  for(var i=1; i<60; i++){    times.push(i);  }  rule.second = times;  var c=0;  var j = schedule.scheduleJob(rule, function(){        c++;        console.log(c);  });

 

Nodejs計時器定時執行函數

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.