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

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

4

2 回答 2

9

您需要使用clearInterval而不是clearTimeoutclearTimeout 是setTimeout的倒数。您可以以相同的方式使用它:

clearInterval(timer);
于 2013-08-16T09:24:53.660 回答
8

您需要添加一个清除间隔然后重新启动它的功能

function resetInterval() {
  clearInterval(timer);

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

那么您可以根据需要简单地调用它

chat.client.addMessage = function(data) {
  resetInterval();
  test2(data);
};
于 2014-10-16T03:59:57.727 回答