As far as a I know, there is no way to get setTimeout to run synchronously.
I have this code, where foo is a decently long function (20 lines or so).
if(delay == null){
function foo(){
}()
}
else {
setTimeout(function(){
function foo(){
}()
}, delay);
}
what would very convenient, would be if setTimeout would accept an delay argument of -1, and then would just run synchronously/immediately, something like this:
var delay = delay || -1;
setTimeout(function(){
function foo(){
}()
}, delay); // if delay is -1, will run immediately.
I don't think this functionality works with setTimeout, is there another way I can prevent having to write out the foo function twice? The only good solution I have is to create a helper function, but that's not as convenient :)