Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

175
Vistas
¿Puedo usar nuevamente una función que envuelve las declaraciones setInterval y clearInterval?

tengo la siguiente función:

 const catchingEggs = () => { let eggIndex; document.querySelector('html').style.backgroundColor = 'transparent'; leftArrow.style.display = 'none'; rightArrow.style.display = 'none'; player.removeEventListener('click', catchingEggs); leftArrow.removeEventListener('click', choosePlayerLeft); rightArrow.removeEventListener('click', choosePlayerRight); document.querySelector('html').requestFullscreen(); myInterval = setInterval(function(){ if(score % 10 === 0) { speed -= 10; intervalScore += 5 } if(heartIndex < 0) { clearInterval(myInterval); return; } eggIndex = Math.floor(Math.random()*4); fallingEggs(allEggs[eggIndex], speed); }, intervalLength); }

lo cual funciona bien, pero si quiero seguir reutilizando esta función después de que ocurrió clearInterval , al agregar otro catchEggs catchingEggs() a la función principal:

 const playGame = () => { screen.orientation.lock('landscape'); document.querySelector('html').style.backgroundColor = 'rgb(31, 28, 28)'; playerImages[0].style.display = 'block'; player.addEventListener('click', catchingEggs); rightArrow.addEventListener('click', choosePlayerRight); leftArrow.addEventListener('click', choosePlayerLeft); }

para ejecutar después de un condicional, no hace nada. Idealmente, me gustaría poder cambiar la duración del intervalLength mientras estoy dentro del intervalo, pero eso no parece ser posible, por lo que al menos quiero poder evitarlo iniciando todo de nuevo, por ejemplo, cuando la score >= 20 , así que agregué una nueva variable cuando era verdadero, como una condición de clearInterval (hasta ahora todo bien), y luego dentro playGame() : si la nueva variable es verdadera, catchingEggs() , pero no pasó nada.

gracias de antemano.

about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda