2014-11-18 3 views
0

У меня есть массив с идентификатором тайм-аута. Какой изящный способ очистить всех сразу? Есть ли более эффективный стиль?JavaScript: несколько clearTimeout в массиве

waitHandler[1] = setTimeout('doSomethingA()', 2000); 
waitHandler[2] = setTimeout('doSomethingB()', 2000); 
... 

for (var i=1; i < waitHandler.length; i++) { 
    clearTimeout[i]; 
} 
+0

Не записывайте код в строки. 'var t = 2000; var ids = [setTimeout (doSomethingA, t), ...]; ' – 1983

+0

Хорошо, но что, если мне нужно отправить параметры? – Robbit

+0

Затем используйте анонимные функции: 'setTimeout (function() {doSomethingA (param)})' – Scimonster

ответ

1

Я думаю, что вы имеете в виду, чтобы сделать это:

for (var i=1; i < waitHandler.length; i++) { 
    clearTimeout(waitHandler[i]); 
} 

Ваш старый синтаксис не будет работать.


И это единственный способ сделать это без плагинов.

+0

Конечно. Спасибо за исправление и информацию о том, что цикл цикла необходим в чистом JS. :-) – Robbit

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

  • Нет связанных вопросов^_^