What's the difference between setTimeout(callback, 0)
and process.nextTick(callback)
? How about Node's setImmediate(callback)
?
On the surface, it appears that all three functions do the same thing—they execute the callback after the current event loop, but before anything else. The natural question to ask is, why are there three different functions? Let's run an experiment: