guaranteed. All javascript in browser executes on a single threaded asynchronous events. When a new async event occurs, mouse click, XMLHttpRequest completion, will put it into a “waiting” queue. setTimeout(0, func) similar to ‘yield’ Tuesday, August 6, 13
Caution. This is what the doc says: It typically runs before any other I/O events fire, but there are some exceptions. Like what?! Tuesday, August 6, 13