Node.JS精确定时器

Node.JS精确定时器

问题描述:

如何创建Node.JS精确定时器?它应该看起来像厨房计时器或秒表。Node.JS精确定时器

我需要尽可能的准确性。该应用程序将促进某种“点击战争”。我需要存储每个(并发)用户的点击,注意秒和毫秒(以配合游戏)。

我该怎么办?有一些代码示例吗?

在此先感谢。

+1

值得一提的新的本地API它http://nodejs.org/api/process.html#process_process_hrtime - 请参阅可能的用法链接 –

那么你应该看看microtime模块,它给你的时间精确到微秒。你甚至可以用它来测量CPU的时钟周期!

至于代码,你可以做这样的事情(将时间存储在对象中,然后使用user id访问它们,如果用户名是已知的):

var microtime = require('microtime'); 
    , clicks = {}; 

click(function(user){ // An event listener for received clicks 
    clicks[user] = microtime.now(); 
}); 

或(推动所有阵列中的,好处是,它可以被排序,并且容易所有这些被迭代)

var microtime = require('microtime'); 
    , clicks = []; 

click(function(user){ // An event listener for received clicks 
    clicks.push({ 
    user : user, 
    time : microtime.now() 
    }); 
}); 

作为节点v0.8.0可以的使用process.hrtime()这将返回一个数组包含相对于过去的相对秒数和纳秒。

+0

非常感谢你! – sonnuforevis

+0

我会试试这段代码;) – sonnuforevis