定时器使用node.js处理实时仿真的另一种方法?

时间:2015-04-17 15:31:01

标签: javascript node.js real-time setinterval simulation

我正在玩这个简单的原型来实时运行大量模拟(在这种情况下让我们说一个简单的游戏)。

我无法想象最好的做法是在服务器端运行计时器。那么有没有一个替代定时器来实时运行node.js中的大量模拟?

我可以想象处理命令的主要内容,但我不知道如何确保/缩放刻度持续时间让我们说一分钟。

var Events = require("events");

var Game = function(tickspeed) {
    this.tickspeed = tickspeed || 100;
    return this;
};


Game.prototype = new Events.EventEmitter();

var i = 0;
Game.prototype.tick = function() {
    //this.timer
    this.emit("tick", {});
    if (i>100) this.stop();
};

Game.prototype.start = function(){
    var self = this;
    self.startTime = new Date();

    setTimeout(function() {
        self.timer = setInterval(function(){
            self.tick();
        }, self.tickspeed);
        self.emit("start", {game : self});
    }, self.tickspeed);
};

Game.prototype.stop = function(){
    var self = this;
    self.endTime = new Date();
    clearTimeout(self.timer);
};


module.exports = Game;

0 个答案:

没有答案