对于每个请求可能需要一秒或两秒钟的应用程序,是否可能仅在事件循环的每次迭代中处理一段操作代码? 例如:处理Node.js中的下一个事件
function foo()
{
...operative code...
...start processing the next event here...
...continue with foo() here....
}
难道是这样的?
function foo()
{
...operative code...
process.nextTick(function() {
...continue with foo() here...
});
}
如果这样做的话,Node是否会自动开始处理队列中下一个事件?
您的操作代码是基于IO吗?通常,当我有一些运行一两秒钟的东西时,大部分是IO时间。如果是这种情况,那么节点将自动处理并发,因为它的IO模型是非阻塞的。 – tilleryj 2013-04-23 20:24:36
@tilleryj假设它不是基于IO的,是否有办法跳到下一个事件并稍后回来继续处理? – alf 2013-04-23 20:26:20
@tilleryj我意识到这需要非IO功能的很多代码需要一秒多的时间。但我真的只是想了解事件循环是如何工作的,以及我对它有多少控制。 – alf 2013-04-23 20:28:23