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

162
Vistas
¿Por qué no se borra setInterval?

¿Por qué stopInterval no limpia mave ? mave sigue registrando 'g' incluso después de llamar a stopInterval() .

 let boy = 'bama'; let count = 1; const name = () => { let stopInterval = () => { if (count >= 1) { clearInterval(mave); } } if (boy === 'lama') { stopInterval(); var move = setInterval(() => { console.log('u'); },3000); } else if (boy === 'bama') { stopInterval(); var mave = setInterval(() => { console.log('g'); },3000); } }; name();

about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

setInterval cuando las invocaciones devolverán un timerId , debe borrar esa identificación.

No está borrando la id cada vez que se ejecuta el intervalo, puede llamar a la función stopInterval en cada ejecución de devolución de llamada que haya pasado a setInterval

 let boy = "bama"; let count = 1; const name = () => { let id; //change - create id variable on top of function let stopInterval = () => { if (count >= 1) { clearInterval(id); } }; if (boy === "lama") { id = setInterval(() => { //change - Assigning ID stopInterval(); //change - Run every time and check console.log("u"); }, 3000); } else if (boy === "bama") { id = setInterval(() => { //change - Assigning ID stopInterval(); //change - Run every time and check console.log("g"); }, 3000); } }; name();

Alternate short solution

 let boy = "bama"; let count = 1; const name = () => { var timerId = setInterval(() => { if (count++ >= 3) clearInterval(timerId); if (boy === "lama") console.log("u"); else console.log("g"); }, 3000); }; name();

about 4 years ago · Juan Pablo Isaza Denunciar

0

No proporciona ninguna condición para detener/borrar ese intervalo. Desde el principio, lo primero que debe hacer es detener el intervalo (que aún no ha comenzado). Luego comienzas el intervalo y no proporcionas nada para detener eso. configure el comando stopIntervall donde consola. log ("g") y al depurar verá la diferencia.

about 4 years ago · Juan Pablo Isaza Denunciar

0

Parecería que falta algo en este programa, el único intervalo que se establece es

 var mave = setInterval(()//etc

Lo que establece "mave" como una variable local que solo es visible en el alcance de esa declaración if, y después de que eso sucede, no hay "stopInterval", solo lo está llamando antes de iniciarlo

Primero, debe hacer que mave sea una variable global o simplemente pasarla como un parámetro para stopInterval (pero luego sería lo mismo claro, así que también podría usar eso), pero principalmente, debe detenerlo DESPUÉS tú lo empiezas

Intente simplemente hacer un botón que lo borre cuando se haga clic, o cualquier cosa

about 4 years ago · Juan Pablo Isaza Denunciar
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