Escaping the JavaScript call stack with setTimeout at Blogature
"What happens when we call something using setTimeout with a delay of 0 is that the JavaScript engine notices that it’s busy (with whatever task called setTimeout) and queues the setTimeout code for execution immediately after the current call stack clo