[changed] Use setImmediate (or shim) instead of setTimout to yield