Вот код, который я использую. Когда тики становятся равными 5, функция рекурсии должна прекратить очистку таймаута mainThread. Кто-нибудь, пожалуйста, помогите.clearTimeout не работает в функции рекурсии - javascript
var mainThread;
var ticks = 0;
function tickTimer() {
clearTimeout(mainThread);
if (ticks >= 5) {
endGame();
}
else {
mainThread = setTimeout(function() {
ticks++;
tickTimer();
}, 1000);
}
}
Дайте мне знать, если возникнут проблемы. Спасибо заранее.
Вы уменьшив значение 'ticks' еще ожидают, что игра заканчивается, если значение становится больше или равно 5. – UweB
, как указано @UweB, не должен» t условие '' 'if'''' '' if (ticks == 5) {endGame(); } '' 'потому что' '' (ticks> = 5) '' 'всегда будет возвращать true? – Varinder
Рассмотрите возможность использования ['setInterval'] (http://stackoverflow.com/q/729921/7586) вместо вызова' setTimeout' несколько раз. – Kobi