我用express來測試node.js。當我使用node.js時,我應該使用循環異步方式嗎?
從理論上說,如果我運行沒有任何回調的一個個「for循環」的東西很繁重的計算,
它被阻塞和其他請求應被忽略。
但對我來說,常規的「for循環」
for(var i=0;i<300000;i++) {
console.log(i);
}
不作任何請求塊,但只是高CPU負載。
它也接受其他請求。
,但我爲什麼要使用一些其他的方法,使這些非粘連如
process.nextTick()
或根本node.js的照顧基本環路功能(同時)與process.nextTick他們包裹()作爲默認值?
在「for循環」中使用process.nextTick或在「for循環」中使用process.nextTick之間的區別 – InspiredJW 2012-01-11 07:30:47
片段會幫助我更好地回答,但基本上沒有nextTick循環就像其他任何語言一樣運行。它會一直運行,直到它經歷了'我'的所有值,並且不會發生其他處理。 nextTick指示節點通過事件循環下次執行參數函數。從理論上講,這意味着您正在排隊處理以在事件循環中運行,以及其他所有事件。這意味着有時間處理其他數據,例如傳入請求。也就是說,主循環仍然會進行大量繁重的處理,這可能很糟糕。 – loganfsmyth 2012-01-11 08:10:30