嗨,我正在尝试使用node.js创建聊天
我在http://chat.nodejs.org/中看到了示例
我已经尝试了它并且它可以工作但是如何使用间隔时间从服务器中删除/删除数据,如在javascript中而不必重新启动node.js / terminal prompt?....
例如:
时间:
17:14
17:12
16:13
15:11
14时17
function del(){
if(time<timenow-1000){delete time;}}
setInterval("del()",10000);
我想使用间隔时间每隔一小时删除不到两小时的数据...谢谢
答案 0 :(得分:2)
首先,我强烈建议您不要使用带有setInterval
字符串的eval
重载。相反,始终使用采用回调的版本。例如:
setInterval(1000, function () {
// do something
});
查看源代码,您会看到消息存储在messages
数组中:
https://github.com/ry/node_chat/blob/master/server.js
您的函数只需检查此数组并删除时间戳早于所需日期的邮件。例如:
setInterval(1000, function () {
while (messages.length && messages[0].timestamp < someTime) {
messages.shift();
}
});
这会在最早的邮件超过someTime
时删除,这是您需要指定的时间。