Uniquely identified setTimeout manager
You know those games that begin count downs when a minimum number of players is met? Yeah, that's why this was built. It's good for stuff like that. You can manage tasks in one place and add or delete tasks on demand.
npm install pending-tasks --save
var ptasks = require('pending-tasks').create();
Adds a task or array of tasks to the running list of pending tasks
options
( object ) - Task object, which includes:
-
options.taskId
*( ** ) required - Unique Id of the task -
options.timeout
( number ) - Time in milliseconds until the task is executed -
options.task
( function ) required - Task function to be executed after timeout
- Add a single task
var taskId = '123abc';
ptasks.add({
id: taskId,
timeout: 1000,
task: function() {
console.log('Test!');
}
});
- Add an array of tasks
ptasks.add([
{
id: 'abc123',
timeout: 1000,
task: function() {
console.log('Test 1!');
}
},
{
id: '123abc',
timeout: 1000,
task: function() {
console.log('Test 2!');
}
}
]);
Delete a task from the running list of pending tasks
taskId
*( ** ) - Id of the task to delete
ptasks.delete(taskId);
Return true if a task with the task Id specified is pending, otherwise false.
taskId
*( ** ) - Id of the task to validate whether pending
ptasks.isPending(taskId);
Returns the time the task for initialized
taskId
*( ** ) - Id of the task to validate whether pending
ptasks.getTaskCreatedTime(taskId);
Returns the time remaining until the task is executed
taskId
*( ** ) - Id of the task to check the time remaining on
ptasks.getTimeRemaining(taskId);