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 事件回调都不会有机会在迭代之间运行。