Node.js版本0.10已于今天发布并引入 setImmediate。该API的变化文档建议做递归时使用它nextTick调用。
setImmediate
nextTick
从MDN所说的来看,它与process.nextTick。
process.nextTick
什么时候应该使用nextTick,什么时候应该使用setImmediate?
setImmediate如果要将函数放在事件队列中已经存在的任何I / O事件回调后面,请使用此函数。用于process.nextTick将函数有效地放在事件队列的开头,以便在当前函数完成后立即执行。
因此,在您尝试使用递归分解长时间运行且受CPU限制的作业的情况下,您现在想使用setImmediate而不是process.nextTick将下一个迭代放入队列中,因为否则任何I / O事件回调都不会获得机会在迭代之间运行。