mirror of
https://github.com/gnh1201/welsonjs.git
synced 2025-02-06 15:04:58 +00:00
Update task.js
This commit is contained in:
parent
73ab88acb9
commit
3cc3f8b77b
73
lib/task.js
73
lib/task.js
|
@ -17,22 +17,19 @@
|
|||
*/
|
||||
|
||||
var Task = function(f, params) {
|
||||
var now = new Date();
|
||||
|
||||
this.f = f;
|
||||
this.params = params;
|
||||
this.nextTask = null;
|
||||
this.when = 0;
|
||||
this.when = now.getTime();
|
||||
|
||||
this.setNextTask = function(task) {
|
||||
this.nextTask = task;
|
||||
};
|
||||
this.setWhen = function(when) {
|
||||
this.when = when;
|
||||
};
|
||||
this.clone = function() {
|
||||
var task = new Task(this.f, this.params);
|
||||
task.setNextTask(this.nextTask);
|
||||
task.setWhen(this.when);
|
||||
return task;
|
||||
};
|
||||
};
|
||||
|
||||
var TaskQueue = function() {
|
||||
|
@ -55,18 +52,18 @@ var TaskQueue = function() {
|
|||
|
||||
try {
|
||||
if (this.queue.length > 0) {
|
||||
for (var i = 0; i < this.queue.length; i++) {
|
||||
var delta = this.queue[i].when - now.getTime();
|
||||
if (delta <= 0) {
|
||||
task = this.queue.splice(i, 1)[0];
|
||||
break;
|
||||
}
|
||||
var delta = this.queue.map(function(task) {
|
||||
return task.when - now.getTime();
|
||||
});
|
||||
var i = delta.indexOf(Math.min.apply(Math, delta));
|
||||
if (i > -1) {
|
||||
task = this.queue.splice(i, 1)[0];
|
||||
}
|
||||
}
|
||||
} catch(e) {
|
||||
console.error("TaskQueue.get: " + e.message);
|
||||
}
|
||||
|
||||
|
||||
return task;
|
||||
};
|
||||
this.next = function() {
|
||||
|
@ -154,54 +151,6 @@ exports.stop = function(q) {
|
|||
q.stop();
|
||||
};
|
||||
|
||||
/*
|
||||
exports.setTimeout = function() {
|
||||
var f = null;
|
||||
var delay = 0;
|
||||
var params = [];
|
||||
var args = arguments;
|
||||
|
||||
if (args.length > 2) {
|
||||
f = arguments[0];
|
||||
delay = args[1];
|
||||
params = args.slice(2);
|
||||
} else if (args.length == 2) {
|
||||
f = args[0];
|
||||
delay = args[1];
|
||||
}
|
||||
|
||||
if (f != null) {
|
||||
var when = new Date().getTime() + delay;
|
||||
// ... todo ...
|
||||
}
|
||||
};
|
||||
|
||||
exports.setInterval = function() {
|
||||
var f = null;
|
||||
var delay = 0;
|
||||
var params = [];
|
||||
var args = arguments;
|
||||
|
||||
if (args.length > 2) {
|
||||
f = args[0];
|
||||
delay = args[1];
|
||||
params = args.slice(2);
|
||||
} else if (args.length == 2) {
|
||||
f = args[0];
|
||||
delay = args[1];
|
||||
}
|
||||
|
||||
if (f != null) {
|
||||
var when = new Date().getTime() + delay;
|
||||
// ... todo ...
|
||||
}
|
||||
};
|
||||
|
||||
exports.Promise = function() {
|
||||
// ... todo ...
|
||||
};
|
||||
*/
|
||||
|
||||
exports.VERSIONINFO = "Task Module (task.js) version 0.1";
|
||||
exports.global = global;
|
||||
exports.require = require;
|
||||
|
|
Loading…
Reference in New Issue
Block a user