2016-09-01 9 views
-2
var test = setTimeout(function() { 
    while (true) { 
     console.log('Test'); 
    } 
}, 5); 

clearTimeout(test); 

У меня есть этот кусок кода, который представляет мою проблему, будет clearTimeout(test) остановка во время цикла?Функция останова внутри setTimeout

+0

Чтение https://developer.mozilla.org/en-US/docs/Web/API/WindowTimers/clearTimeout может дать вам несколько мыслей? Каким-то образом я чувствую, что вам понадобится 'setInterval'. – Teemu

+0

Можете ли вы разместить свой код? – R3tep

+0

Я редактировал вопрос –

ответ

2

Функция не будет работать, прежде чем тайм-аут закончится, или если вы снимите тайм-аут.

var t = setInterval(myFunction,5000) 
clearInterval(t) 
function myFunction() { 
//your content 
} //The above function will not run. 
1

Если вы используете функцию clear the timeout, это приведет к тому, что ваша функция не будет вызываться после установленного времени.

Эта функция clearTimeout(variable) не останавливает выполнение метода, когда вы зацикливаетесь внутри setTimeout.

вы можете попробовать сделать что-то вроде этого:

var myVar = setInterval(function(){ myTimer() }, 1000); 

function myTimer() { 
    console.log('Test'); 
} 

function myStopFunction() { 
    clearInterval(myVar); 
} 
+0

И у меня есть способ остановить выполнение метода? –

+0

Можете ли вы обновить вопрос с помощью некоторого кода? @ AntónioGarcez –

+0

Я меняю вопрос, надеюсь, теперь, вы можете понять мою проблему –

Смежные вопросы