Revision: 62317
Updated Code
at February 16, 2013 03:32 by McSodbrenner
Updated Code
var setExactTimeout = function(callback, duration, resolution) {
var start = (new Date()).getTime();
var timeout = setInterval(function(){
if ((new Date()).getTime() - start > duration) {
callback();
clearInterval(timeout);
}
}, resolution);
return timeout;
};
var clearExactTimeout = function(timeout) {
clearInterval(timeout);
};
Revision: 62316
Updated Code
at February 16, 2013 03:32 by McSodbrenner
Updated Code
var setExactTimeout = function(callback, duration, resolution) {
var start = (new Date()).getTime();
var timeout = setInterval(function(){
console.log(duration);
if ((new Date()).getTime() - start > duration) {
callback();
clearInterval(timeout);
}
}, resolution);
return timeout;
};
var clearExactTimeout = function(timeout) {
clearInterval(timeout);
};
Revision: 62315
Updated Code
at February 16, 2013 03:04 by McSodbrenner
Updated Code
var setExactTimeout = function(callback, duration, resolution) {
var start = (new Date()).getTime();
var timeout;
timeout = setInterval(function(){
if ((new Date()).getTime() - start > duration) {
callback();
clearInterval(timeout);
}
}, resolution);
return timeout;
};
var clearExactTimeout = function(timeout) {
clearInterval(timeout);
};
Revision: 62314
Updated Code
at February 16, 2013 03:01 by McSodbrenner
Updated Code
var setExactTimeout = function(callback, duration, resolution) {
var start = (new Date()).getTime();
var timeout;
timeout = setInterval(function(){
if ((new Date()).getTime() - start > duration) {
callback();
clearInterval(timeout);
}
}, resolution);
return timeout;
};
var clearExactTimeout = function(timeout) {
clearInterval(timeout);
};
var clearExactTimeout = function(timeout) {
clearInterval(timeout);
};
Revision: 62313
Updated Code
at February 16, 2013 02:54 by McSodbrenner
Updated Code
// more precise than setTimeout
// resolution: how often the realtime is checked in ms
var setExactTimeout = function(callback, duration, resolution) {
var start = (new Date()).getTime();
var timeout;
timeout = setInterval(function(){
console.log(duration);
if ((new Date()).getTime() - start > duration) {
callback();
clearInterval(timeout);
}
}, resolution);
return timeout;
};
var clearExactTimeout = function(timeout) {
clearInterval(timeout);
};
Revision: 62312
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at February 15, 2013 19:36 by McSodbrenner
Initial Code
// more precise than setTimeout
// resolution: how often the realtime is checked in ms
var setExactTimeout = function(callback, duration, resolution) {
var start = (new Date()).getTime();
var timeout;
var loop = function(){ if ((new Date()).getTime() - start > duration) { callback(); return; } timeout = setTimeout(function(){ loop(); }, resolution); };
loop();
return timeout;
};
Initial URL
Initial Description
This is a more precise version of the native setTimeout(). It uses the same parameters as setTimeout, but adds a third parameter "resolution" which defines how often (in ms) to check for the time that passed.
// alert after 5 seconds with an inaccuracy of 20 milliseconds
var timeout = setExactTimeout(function(){
alert('done');
}, 5000, 20);
// comment out to show "done"
clearExactTimeout(timeout);
Initial Title
Exact Javascript Timeout
Initial Tags
javascript
Initial Language
JavaScript