標籤:
一、最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計時器定時執行函數