如何創建Node.JS精確定時器?它應該看起來像廚房計時器或秒錶。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()
這將返回一個數組包含相對於過去的相對秒數和納秒。
非常感謝你! – sonnuforevis
我會試試這段代碼;) – sonnuforevis
值得一提的新的本地API它http://nodejs.org/api/process.html#process_process_hrtime - 請參閱可能的用法鏈接 –