2015-09-19 5 views
0
function a() { 

{...} 

setTimeout(function(){ a(); }, 5000); 

} 

function b() { 

{...} 

a(); // CALL AND DISABLE SETTIMEOUT TO AVOID MULTI TASKS OF THE SAME FUNCTION 

} 

{Пожалуйста, добавьте некоторый контекст для объяснения разделов коды (или убедитесь, что вы не неправильно отформатированы все ваш вопрос как код) .Please добавить контекст для объяснения разделов коды (или убедитесь, что вы неверно отформатировали весь свой вопрос в качестве кода). Пожалуйста, добавьте некоторый контекст для объяснения разделов кода (или убедитесь, что вы неверно отформатировали весь свой вопрос как код). Пожалуйста, добавьте некоторый контекст, чтобы объяснить разделы кода (или убедитесь, что вы неверно отформатировали весь свой вопрос в качестве кода).}вызова функция с SetTimeout отключена

ответ

0
function a(callSetTimeout) { 

{...} 
if(callSetTimeout !== false) 
    setTimeout(function(){ a(); }, 5000); 

} 

function b() { 

{...} 

a(false); // CALL AND DISABLE SETTIMEOUT TO AVOID MULTI TASKS OF THE SAME FUNCTION 

} 
0

Когда вы хотите вызвать функцию «a() ", то вы можете вызывать его без каких-либо аргументов, и когда вы хотите прекратить вызов, вы можете использовать clearTimeout() , например.

<button onclick="a()">Call My Function</button> 
<button onclick="b()">End Up Calling</button> 

<script> 

var myVar; 

function a(callSetTimeout) { 
if(callSetTimeout !== false) 
{ 
myVar=setTimeout(function(){ a(); }, 5000); 
alert('Yes..I want to call it..'); 
} 
else 
{ 
alert('This is last time to call this function'); 
clearTimeout(myVar); 
} 
} 

function b() { 

a(false); // CALL AND DISABLE SETTIMEOUT TO AVOID MULTI TASKS OF THE SAME FUNCTION 

} 

</script> 

Вы можете назвать «Ь()» функции, если вы хотите, чтобы остановить больше звонков на «()»

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