Syntactic sugar for setTimeout and setInterval.
Sugar for setTimeout.
wait(100, function(){
// Do something in 100 milliseconds
});
wait('2s', function(){
// Do something in 2 seconds
});
wait('2 minutes', function(){
// Do something in 2 minutes
}, 'awesomeId');
Sugar for setInterval.
If callBefore
is true the callback will be executed before the interval.
repeat(100, function() {
// Do something every 100 milliseconds
});
repeat('1 min', function() {
// Do something every minute
}, 'awesomeId');
repeat('1 min', function() {
// Run immediately and every minute
}, true);
repeat('1 min', function() {
// Run immediately and every minute
}, 'awesomeId', true);
Runs the callback function when the condition is true. If you don't specify an interval the condition will be check every 100 milliseconds.
var condition = function() {
return 1 == 1;
};
until(condition, function() {
// Do something when 1 == 1
});
until(condition, function() {
// Check every second if 1 == 1 and do something.
}, '1 second');
until(condition, function() {
// Check every second if 1 == 1 and do something.
}, 150, 'coolId');
Syntactic sugar for clearInterval and clearTimeout
The clear()
method can be used in 3 ways:
// Will clear all intervals and timeouts that where created with an id
clear();
// Will clear a timeout or interval given an id.
clear(id);
// The id can be two things.
var timeout = wait(100, callback);
clear(timeout);
wait(100, callback, 'awesome-id');
clear('awesome-id');
// Will clear all timeouts and intervals in an array.
clear([timeout, 'awesome-id']);
Time can be specified in various formats:
If time
is a number, it will be interpreted as milliseconds.
100
, 1 second
, 3 minutes
, 1 hour
, 3 secs
, 1 min
, 2 hrs
, 1s
, 3m
, 2h
npm install waitjs
// nodejs
require('waitjs');
<!-- browser -->
<script src="wait.js"></script>
npm test