2016-01-06 2 views
0

Я действительно пытаюсь вложить некоторые setInterval вызова.О вложенности setInterval

На самом деле у меня есть тот, который выполняет задание каждые 5 минут, а внутри, у меня есть тот, который выполняет задание каждую минуту.

Эти две связи связаны, и это важно.

Heres код:

loadBuilds: -> 
    @sendRequest() 
    # First set interval 
    setInterval => 
     @sendRequest() 
    , 1000 * 60 * 5 

    sendRequest:-> 
    request @jconf.url,(error,response,body)=> 
     if !error && response.statusCode == 200 
     @element.innerHTML = '' 
     title = document.createElement 'h4' 
     title.textContent = 'Super item' 
     subTitle = document.createElement 'p' 


     # Second set interval 
     date = new Date(); 
     subTitle.textContent = 'Last check : ' + moment(date).fromNow() 
     setInterval -> 
      moment(date).fromNow() 
      subTitle.textContent = 'Last check : ' + moment(date).fromNow() 
     ,1000*60 

     @element.appendChild title 
     @element.appendChild subTitle 
     @parseContent body 

мне было интересно в том случае, если:

Когда второй клещ первого заданного интервала называется, делает второй отсчет установленного времени первого setInterval очищается, я имею в виду, что он освобождает память или мне нужно сделать это вручную?

Я имею в виду там, должен ли я иметь проблему с памятью кучи, если я позволю двум setInterval работать вместе, получая все больше и больше памяти без очистки предыдущего setInterval?

+1

Я не знаю CoffeeScript, что хорошо, но никаких clearInterval я представляю новый «внутренний «Интервал создается каждые 5 минут, а старый тоже –

ответ

1

Следующий код, взятый из this post, используется для остановки setInterval после сохранения его ID:

order = 
start_poll: -> 
    @interval = setInterval(@request, 60000) 
stop_polling: -> 
    clearInterval(@interval) if(@interval) 
    alert ('expired') 
#... 
Смежные вопросы