Node.JS精确定时器
问题描述:
如何创建Node.JS精确定时器?它应该看起来像厨房计时器或秒表。Node.JS精确定时器
我需要尽可能的准确性。该应用程序将促进某种“点击战争”。我需要存储每个(并发)用户的点击,注意秒和毫秒(以配合游戏)。
我该怎么办?有一些代码示例吗?
在此先感谢。
答
那么你应该看看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
值得一提的新的本地API它http://nodejs.org/api/process.html#process_process_hrtime - 请参阅可能的用法链接 –