如何创建 Node.JS 精确计时器?它应该看起来像厨房定时器或秒表。
我需要尽可能准确。该应用程序将促进某种“点击 war ”。我需要存储每个(并发)用户的点击,记录秒数和毫秒数(以平局)。
我该怎么做?有代码示例吗?
提前致谢。
最佳答案
嗯,你应该看看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()
});
});
从 Node v0.8.0 开始,您可以使用 process.hrtime()
这将返回一个数组,其中包含过去的相对秒数和纳秒数。
关于javascript - Node.JS 精确计时器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8263652/