我用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