Skip to content

Instantly share code, notes, and snippets.

@girvan
Last active December 12, 2015 06:28
Show Gist options
  • Save girvan/4729118 to your computer and use it in GitHub Desktop.
Save girvan/4729118 to your computer and use it in GitHub Desktop.
javascript queue
/*
Example:
queue(function(){ click_it(); }, 1000);
queue(function(){ refresh_it(); }, 1800);
// it will run click_it() at 1sec, and run refresh_it() at 2.8sec
*/
var _queue_runner;
var _queues = [];
function queue(func, sleep)
{
_queues.push([func, sleep]);
}
function run_queue()
{
if(_queues.length === 0)
{
_queue_runner = setTimeout(run_queue, 1000);
return;
}
var run = _queues.shift();
run[0]();
_queue_runner = setTimeout(run_queue, run[1]);
}
clearTimeout(_queue_runner);
run_queue();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment