Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

161
Visualizações
¿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 Respostas
Responde à pergunta

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 Relatório

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda