NodeJS 環境で、1 秒間に 30 回実行されるループを作成しようとしています (固定変数に基づく)。私は、NodeJSの I/O キューに準拠するために利用できるので、NodeJS に関しては、それは適切な方法ではないsetInterval
と言われました。次のコードを使用してみました ( ):setTimeout
process.nextTick
setImmediate
setImmediate
var Physics = {
lastTime: (new Date().getTime()),
upsCounter: 0,
ups: 0,
init: function() {
Physics.loop();
},
loop: function() {
var currentTime = (new Date().getTime());
Physics.upsCounter += 1;
if((currentTime - Physics.lastTime) >= 1000) {
Physics.ups = Physics.upsCounter;
Physics.upsCounter = 0;
Physics.lastTime = currentTime;
console.log('UPS: ' + Physics.getUPS());
}
setImmediate(Physics.loop);
},
getUPS: function() {
return this.ups;
}
};
私の問題は、Updates Per Second (UPS) が必要な 30 ではなく 400,000 を超えていることです。これをこの数に制限する方法、または別のループ構造があるかどうか疑問に思っていました。ありがとう