用Node.js处理下一个事件

processing the next event in Node.js

本文关键字:下一个 事件 处理 js Node      更新时间:2023-09-26

对于每个请求可能需要一两秒钟的应用程序,是否可能在事件循环的每次迭代中只处理一段操作代码?例如:

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上,node的非阻塞模型将自动处理并发。

如果它没有在IO中使用,那么使用process是正确的。nextTick延迟代码的执行,以便其他请求有要处理的更改。这是一个很好的描述:

http://howtonode.org/understanding-process-next-tick

您的假设是正确的,您应该将工作划分为较小的执行块,并使用process.nextTick调度下一个块。所有其他需要在下一个滴答点执行的计划事件将在所需的执行块之前处理。