如何使用interval time / settimeout从服务器node.js中删除/删除数据?

时间:2012-01-29 05:01:17

标签: node.js

嗨,我正在尝试使用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);

我想使用间隔时间每隔一小时删除不到两小时的数据...谢谢

1 个答案:

答案 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时删除,这是您需要指定的时间。