reset setInterval()的定时器

var timer; chat.client.addMessage = function (data) { clearTimeout(timer); test2(data); }; timer = setInterval(function () { console.log("working"); test1(); }, 5000); 

我正在尝试在执行chat.client.addMessage时重新启动计时器。每隔5000毫秒执行一次.InterInterval,直到执行该方法时执行chat.client.addMessage setInterval函数停止执行。 帮助将不胜感激:)

您需要使用clearInterval而不是clearTimeout因为clearTimeout是setTimeout的反转。 您可以以相同的方式使用它:

 clearInterval(timer); 

你需要添加一个清除间隔然后重新启动它的函数

 function resetInterval() { clearInterval(timer); timer = setInterval(function() { console.log("restarted interval"); test1(); }, 5000); } 

然后你可以根据需要简单地调用它

 chat.client.addMessage = function(data) { resetInterval(); test2(data); };