對於每個請求可能需要一秒或兩秒鐘的應用程序,是否可能僅在事件循環的每次迭代中處理一段操作代碼? 例如:處理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