最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - reset Timer of setInterval() - Stack Overflow

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

I am trying to restart timer when ever chat.client.addMessage is executed.SetInterval is executed after every 5000ms until chat.client.addMessage is executed when ever that method is executed setInterval Function stops executing . Help will be appreciated:)

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

I am trying to restart timer when ever chat.client.addMessage is executed.SetInterval is executed after every 5000ms until chat.client.addMessage is executed when ever that method is executed setInterval Function stops executing . Help will be appreciated:)

Share Improve this question edited Aug 16, 2013 at 9:25 Tushar Gupta - curioustushar 57.1k24 gold badges105 silver badges109 bronze badges asked Aug 16, 2013 at 9:23 user2137186user2137186 8376 gold badges23 silver badges39 bronze badges
Add a comment  | 

2 Answers 2

Reset to default 9

You need to use clearInterval instead of clearTimeout as clearTimeout is the inverse of setTimeout. You can use it in the same manner:

clearInterval(timer);

you need to add a function that clears the interval and then restarts it

function resetInterval() {
  clearInterval(timer);

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

then you can simply call it as needed

chat.client.addMessage = function(data) {
  resetInterval();
  test2(data);
};
发布评论

评论列表(0)

  1. 暂无评论