In practice is just a more performant way of defering a long running process to the callback stack.
setImmediate(Fn) == setTimeout(Fn , 0);
developer.mozilla.org/en-US/docs/Web/API/Wi..
The best tool I know to ilustrate how callbacks and event loop and overall asynchronous operations work in JavaScript. latentflip.com/loupe