自己写的定时任务管理器
功能:
每隔timeout时间执行一次func。可以停止任务。也可以改变间隔执行的时间。
代码:
//make sure the cycle task only run 1 thread
taskManager: {
taskids: {},
addTask: function(taskname, func, timeout) {
var tid = setTimeout(func, timeout);
this.taskids[taskname] = tid;
// console.log("addTask:"+taskname);
},
resetTask: function(taskname, func, timeout) {
this.removeTask(taskname);
this.addTask(taskname, func, timeout);
},
removeTask: function(taskname) {
if(this.taskids[taskname]) {
clearTimeout(this.taskids[taskname]);
}
}
}
用法
taskManager.resetTask("getScannedNum", getScannedNum, 1000);