【发布时间】:2016-07-21 02:46:27
【问题描述】:
我正在做一个聊天机器人脚本(Hubot - 在终端中运行)练习,并寻找一种方法来计算自从最后一条消息留在线程中以来的时间。然后在没有人留言 X 分钟(比如说 10,000 毫秒)后,我想 console.log("CRICKETS!..CRICKETS!..")
我在想象这样的事情:
//currentTime - startTime = timeSince
//and
// if( timeSince > 10,000)
// {console.log("Crickets!..")
但是我不确定如何将 currentTime 变量创建为持续增长的计数器
下面是我开始的代码,它似乎没有在 中引发任何错误,但在我在终端中运行时似乎也不起作用。它只是将当前时间打印两次
module.exports = function(robot) {
return robot.hear(/$/i, function(msg) {
var startTime = (Date.now()) ;
return(startTime);
if (Date.now() - startTime > 1000) {
console.log("CRICKETS..!...")
};
});
};
您会注意到我正在使用 Date.now() 但如果有更好的方法,我不会附加。这里还有一个基本hubot脚本的链接,以防上下文需要它 - https://github.com/github/hubot/blob/master/docs/scripting.md
【问题讨论】:
-
setTimeout函数允许您在延迟后触发回调函数。
标签: javascript timer counter hubot