Reputation: 837
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:)
Upvotes: 5
Views: 22415
Reputation: 81
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);
};
Upvotes: 8
Reputation: 78535
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);
Upvotes: 9