您遇到的唯一真實世界限制是可用於節點的內存量。使用下面的代碼來測試。我使用oneMillion和int32Max成功運行了下面的示例。當使用int64Max時,我從節點收到以下錯誤。我正在使用帶有4GB RAM的64位窗口。
FATAL ERROR: CALL_AND_RETRY_2 Allocation failed - process out of memory
節點代碼進行測試:
var util = require('util');
var int64Max = 9007199254740992;
var int32Max = 2147483647;
var oneMillion = 1000000;
var tenThousand = 10000;
var counter = 0;
//Exchange the limiter with one of the above vars to test.
for (var i = 0; i < oneMillion; i++){
setTimeout(log, 1);
//Required as the timeout/callback method will not be called until the loop ends due
//to node/js being single threaded.
util.log('loop:' + i);
}
function log(){
util.log('callback: ' + counter++);
}
還有的保證更好的方法,你打算怎麼辦! – jAndy
設置幾百萬次超時只是一個「for」循環。嘗試一下,然後告訴我們。 ;) – Jon
@Jon我試過這個,因爲我也想知道,我相信它不是那麼貴...... – Alfred