Randomblue Randomblue - 1 year ago 65
Javascript Question

Difference between setTimeout(fn, 0) and setTimeout(fn, 1)?

The jquery source features uses of

with both
as second argument. I'm under the impression that they both mean "execute the function as soon as you can".

Is this correct? Is there a difference between the two?

Answer Source

setTimeout has a minimum timeout of 4ms. So there is actually no difference between the two.

If the currently running task is a task that was created by the setTimeout() method, and timeout is less than 4, then increase timeout to 4.


EDIT: As pointed out by Ahmad in the comments, the spec has changed now, so the answer would currently be, "It depends."