如何创建Node.JS准确计时器?它应该看起来像厨房定时器或秒表。
我需要尽可能准确。该应用程序将促进某种"点击战争"。我需要存储每个(并发)用户的点击,注意秒和毫秒(以打平游戏)。
我该怎么办?是否有一些代码示例?
提前致谢。
答案 0 :(得分:23)
那么你应该看看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()
,它将返回一个数组,其中包含过去的相对秒和纳秒。