The HTML5
specifications states that setTimeout
can be run without the additional "timeout" argument which is supposed to say after how many milliseconds will the function "handler" be scheduled.
handle = window . setTimeout( handler [, timeout [, arguments ] ] )
Schedules a timeout to run handler after timeout milliseconds. Any arguments are passed straight through to the handler.
However, I failed to find anywhere which explains what happens when no "timeout" time period is set.
An example usage is, the animation implementation int the Raphael library.
animationElements[length] && win.setTimeout(animation);
The setTimeout() function accepts two arguments. The first argument is a function and the second argument is time in milliseconds.
setTimeout(fn, 0) !== 0ms. When working with timers, setting a delay of 0, does not equate to 0ms or “instant” execution. This longer than expected delay may occur because the OS/browser/system is busy with other tasks or because the timer has been throttled.
The JS setTimeout() method will call a function after the time specified in milliseconds (1000 ms = 1 second) has passed. The specified function will be executed once.
setTimeout(,0) essentially means execute after all current functions in the present queue get executed. No guarantees can be made about how long it could take. setImmediate is similar in this regard except that it doesn't use queue of functions. It checks queue of I/O eventhandlers.
See http://www.whatwg.org/specs/web-apps/current-work/multipage/timers.html#get-the-timeout
- Let timeout be the second argument to the method, or zero if the argument was omitted.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With